从文件读取到特殊字符

时间:2020-01-16 08:48:11

标签: c++ file-io iostream ifstream

我有一个包含如下内容的文件:

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

我想这样阅读

10003

托尼

鲜明

6:3:1990 ......

我已经尝试过了,但是似乎无法走得更远。我正在尝试阅读;

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

2 个答案:

答案 0 :(得分:1)

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;

}

答案 1 :(得分:0)

您可以将std :: getline与';'一起使用作为分隔符。

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