我是C ++的新手,我无法理解如何从文件导入文本。我有一个.txt文件,我输入,我想把该文件中的所有文本放入一个字符串。要阅读文本文件,我使用以下代码:
ifstream textFile("information.txt");
这只是阅读文本文件名信息。我创建了一个名为text的字符串,并将其初始化为""。我的问题是使用以下代码,我试图将.txt文件中的文本放到字符串上:
while (textFile >> text)
text += textFile;
我显然做错了什么,虽然我不确定它是什么。
答案 0 :(得分:1)
while (textFile >> text)
不会保留空格。如果要保留字符串中的空格,则应使用其他函数,如textFile.get()
示例:
#include <iostream>
#include <string>
#include <fstream>
int main(){
std::ifstream textFile("information.txt");
std::string text,tmp;
while(true){
tmp=textFile.get();
if(textFile.eof()){ break;}
text+=tmp;
}
std::cout<<text;
return(0);}
答案 1 :(得分:0)
while (textFile >> text) text += textFile;
您正在尝试将该文件添加到字符串中,我认为这将是编译器错误。
如果你想按自己的方式去做,你需要两个字符串,例如
string text;
string tmp;
while(textFile >> tmp) text += tmp;
请注意,这可能会省略空格,因此您可能需要手动重新添加它们。