从文件读取到特殊字符

Reading from file upto a special character

提问人:mnehetex 提问时间:1/16/2020 最后编辑:Shinymnehetex 更新时间:1/16/2020 访问量:206

问:

我有一个文件,其包含如下:

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());
C++ 文件-IO IOstream ifstream

评论

0赞 NutCracker 1/16/2020
你说的特殊角色是什么?
0赞 mnehetex 1/16/2020
分号;我想读到分号

答:

1赞 Yunus Temurlenk 1/16/2020 #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;

}
0赞 skybaks 1/16/2020 #2

您可以使用带有 ';' 的 std::getline 作为分隔符。

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