我试图将整个.txt文件复制到char数组中。 我的代码有效但它只检索要打开的文件中的最后一行。 这是我的代码,非常感谢
#include <fstream>
using namespace std;
std::ifstream fileToRead;
unsigned char array[512];
fileToRead.open("test.txt");
if(fileToRead.is_open()){
while(!fileToRead.eof()){
fileToRead >> array;
}
fileToRead.close();
}
printf("%s\n", array);
答案 0 :(得分:0)
您正在重复地在数组的开头读取一行,没有偏移量以允许以前的内容。因此,它总是覆盖先前的读取输入。
许多操作系统允许您将文件映射到数组的地址空间。这可能会快得多。
答案 1 :(得分:0)
你每次只重写你的数组。在第一步,你在数组中写第一行,然后在数组中放入第二行,依此类推。所以最后你把最后一行放在你的数组中。运营商&gt;&gt;不是连接所有的行,它只是重写它。 你可以声明vector,然后你可以写一些想法 std ::&gt; allLines;
fileToRead.open("test.txt");
............
std::string temp;
fileToRead >> temp;
allLines.push_back(tmp);