C++ 将文本文件读入字符串。C++;文件流
我想将行的第一个字符串读入dbiet[sdb].kitu,并将行的其余部分读入dbiet[sdb].mota 示例:第1行=\Dau xuyet phai dbiet[sdb].kitu=“\”和dbiet[sdb].mota=“Dau xuyet phai” 我想逐行阅读,直到遇到下行字符('\n')。如何做到这一点。C++ 将文本文件读入字符串。C++;文件流,c++,ifstream,C++,Ifstream,我想将行的第一个字符串读入dbiet[sdb].kitu,并将行的其余部分读入dbiet[sdb].mota 示例:第1行=\Dau xuyet phai dbiet[sdb].kitu=“\”和dbiet[sdb].mota=“Dau xuyet phai” 我想逐行阅读,直到遇到下行字符('\n')。如何做到这一点。 对不起,我的英语不好。谢谢要将文件中的整行内容读入字符串,请使用std::getline如下所示: \ Dau xuyet phai @ Dau @ # Dau # $ Ky
对不起,我的英语不好。谢谢要将文件中的整行内容读入字符串,请使用
std::getline
如下所示:
\ Dau xuyet phai
@ Dau @
# Dau #
$ Ky hieu $
( Dau mo ngoac
) Dau dong ngoac
您可以在循环中执行此操作,直到文件结束,如下所示:
std::ifstream file("my_file");
std::string temp;
std::getline(file, temp);
工具书类
getline(fin,buffer,'\n')
其中,
fin
是打开的文件(ifstream对象),而buffer
是要复制行的string/char
类型。看起来您正在尝试解析每一行。另一个答案向您展示了如何在循环中使用getline
分隔每一行。您需要的另一个工具是istringstream
,用于分离每个令牌
std::ifstream file("my_file");
std::string temp;
while(std::getline(file, temp)) {
//Do with temp
}
你在问
的bug,而(!eof())
。我不知道你在问什么!不。我想将第一行字符串读入dbiet[sdb]。kitu和其余行读入dbiet[sdb]。mota示例:line\Dau xuyet phai dbiet[sdb]。kitu=“\”和dbiet[sdb]。mota=“Dau xuyet phai”谢谢帮助。eof()
总是错误的。我尝试使用您的代码,但应用程序只是读取了最后一行line@HoangQBH你能显示你想要的输入吗,所需的输出(不是不正确的输出)和您尝试使用的代码std::getline
我尝试使用您的代码,但应用程序只能读取最后一行ostringstream
*
std::ifstream file("my_file");
std::string temp;
while(std::getline(file, temp)) {
//Do with temp
}
std::string line;
while(std::getline(file, line))
{
std::istringstream iss(line);
std::string token;
while (iss >> token)
{
// do something with token
}
}