Rozdzielanie tekstu przy użyciu funkcji strtok.

0

Witam.

Mam problem z przerobieniem mojego programu tak by wczytywał on dane z pliku a nie tak jak jest to obecnie z danych wpisanych w programie. Wiem, że trzeba użyć fstreama ale niestety nie umiem sobie z tym poradzić i zaimplementować to do programu.

Dopiero się uczę programować i byłbym bardzo wdzięczny za okazaną pomoc.

#include <stdafx.h>
#include <iostream>


int main()
{
    char str[] = "p,q#p p#r,q p,q,w#w,p p,w#e o,m#p,q,w,r";    
    char korektor[] = " #";
    char * schowek;

    printf( "Rozdziela tekst \"%s\" na poszczegolne wyrazy:\n", str );
    schowek = strtok( str, korektor );
    while( schowek != NULL )
    {
        printf( "%s\n", schowek );
        schowek = strtok( NULL, korektor );
    }
    system("PAUSE");
  }
 

Chodzi o to by z pliku txt wczytał np.:

p,q#p
p#r,q
p,q,w#w,p
p,w#e
o,m#p,q,w,r

I wyrzucił do pliku wynikowego:

p,q
p
p
r,q
p,q,w
w,p
p,w
e
o,m
p,q,w,r

1

Korzystasz z C++ to korzystaj ze standardowej biblioteki C++, a nie C.

std::ifstream input("input.txt");
std::ofstream output("output.txt");
	
std::string fragment;
while(std::getline(input, fragment, '#'))
	output << fragment << std::endl;

1 użytkowników online, w tym zalogowanych: 0, gości: 1