Cố gắng sao chép toàn bộ tệp .txt vào một mảng char. Mã của tôi hoạt động nhưng nó rời khỏi các khoảng trắng. Vì vậy, ví dụ nếu tập tin .txt tôi đọc "I Like Pie" và tôi sao chép nó vào myArray, nếu tôi cout mảng của tôi sử dụng một vòng lặp for tôi nhận được "ILikePie"Cách sao chép tệp .txt vào một mảng char trong C++
Đây là mã của tôi
#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");
}
bất kỳ đề xuất? :/
arraySize nên const. – Rapptz
Việc sử dụng '! Myfile.eof()' không chính xác. Thậm chí nếu bạn muốn đọc các từ, thay vì tất cả các ký tự, bạn đang sử dụng kết quả của 'myfile >> myArray [i]' mà không xác minh rằng nó đã thành công, điều đó là không chính xác. Nếu bạn muốn đọc tất cả các ký tự, thì 'while (myfile.get (myArray [i])) ++ i; 'sẽ hoạt động (nhưng bạn vẫn cần kiểm tra giới hạn). Nhưng câu trả lời của Nemanja vượt trội hơn rất nhiều. –