我试图将整个.txt文件复制到char数组中。我的代码有效,但它留下了空白。因此,举例来说,如果我的.txt文件上写着“我爱派”,我把它复制到myArray的,如果我使用for循环清点我的阵列我得到“ILikePie”如何将.txt文件复制到C++中的char数组中
这里是我的代码
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
int arraysize = 100000;
char myArray[arraysize];
char current_char;
int num_characters = 0;
int i = 0;
ifstream myfile ("FileReadExample.cpp");
if (myfile.is_open())
{
while (!myfile.eof())
{
myfile >> myArray[i];
i++;
num_characters ++;
}
for (int i = 0; i <= num_characters; i++)
{
cout << myArray[i];
}
system("pause");
}
有什么建议么? :/
ARRAYSIZE应该是const。 – Rapptz
使用'!myfile.eof()'不正确。即使你想阅读单词,而不是所有的字符,你都会在不验证成功的情况下使用myfile >> myArray [i]'的结果,这是不正确的。如果你想阅读所有的字符,那么'while(myfile。get(myArray [i]))++我;'会工作(但你仍然需要边界检查)。但Nemanja的回答远远优于。 –