我让它从文件中读取并将其推入向量中,但是它似乎没有从message.txt中读取空格。我正在工作一个简单的程序,需要将文件存储为chars的向量,而不是字符串。 message.txt文件只是几个单词,没什么特别的。当我运行程序时,它只输出所有字符减去空格。谢谢
必须是存储在向量中的字符。
vector<char> originalFile;
char c;
fstream startFile1;
startFile1.open("message.txt");
if (startFile1.is_open())
{
cout << "File Opened";
}
else
{
cout << "File Not Opened";
}
while (startFile1 >> c)
{
originalFile.push_back(c);
}
for (int i = 0; i < originalFile.size(); i++)
{
cout << originalFile[i];
}
cout << originalFile.size();
答案 0 :(得分:1)
如果您不希望进行任何文本处理,只需一次读取整个文件:
ifstream f("message.txt", ios::binary | ios::ate);
size_t size = static_cast<size_t>(f.tellg());
f.seekg(0, ios::beg);
vector<char> buffer(size);
if (f.read(buffer.data(), size))
{
// buffer now contains entire file contents
}