Чтение из файла до специального символа - PullRequest
1 голос
/ 16 января 2020

У меня есть файл, содержимое которого выглядит следующим образом:

10003;Tony;Stark;6:3:1990;Avengers Tower;New York City;12222;Iron Man

Я хочу прочитать его вот так

10003

Тони

Старк

6: 3: 1990 ......

Я пытался сделать это, но, похоже, не смог go дальше. Я пытаюсь прочитать до ;

 std::ifstream file;
 file.open ("OUT.txt")
 while (in)
    std::cout << char(in.get());

Ответы [ 2 ]

1 голос
/ 16 января 2020
You can read each line and you can assign letters to a string until detecting ';':    

#include <iostream>
#include <fstream>

using namespace std;

int main()
{

    ifstream file;
    file.open("/directory of ur txt file/example.txt",ios_base::app);
    string lines;        
    while(!file.eof())
    {
        getline(file,lines);
        string desired_word = "";

        for(int i=0;i<lines.length();i++)
        {
            if(lines[i] != ';')
              desired_word += lines[i];
            if(lines[i]==';')
            {
               cout<<desired_word<<endl;
               desired_word = "";
            }
        }

    }



    return 0;

}
0 голосов
/ 16 января 2020

Вы можете использовать std :: getline с ';' в качестве разделителя.

std::ifstream file;
file.open ("OUT.txt")
for (std::string item; std::getline(file, item, ';'); )
   std::cout << item << std::endl;
...