c++中 如何将整个文本文件读到一个字符数组中 包括空格和换行符

如何将整个文本文件读到一个字符数组中 包括空格和换行符
2025-03-06 04:23:03
推荐回答(3个)
回答1:

现成的程序
#include
#include
int main () {
FILE * pFile;
long lSize;
char * buffer;
size_t result;

pFile = fopen ( "myfile.txt" , "rb" ); // 打开文件
if (pFile==NULL) {fputs ("File error",stderr); exit (1);}

// 获取文件大小:
fseek (pFile , 0 , SEEK_END);
lSize = ftell (pFile);
rewind (pFile);

// 动态分配数组,用来存放整个文件内容
buffer = (char*) malloc (sizeof(char)*lSize);
if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}

// 把整个文件一个符号不漏地读入 buffer:
result = fread (buffer,1,lSize,pFile);
if (result != lSize) {fputs ("Reading error",stderr); exit (3);}

/* 整个文件 存放在 buffer 内存里. */
// 结束
fclose (pFile);
free (buffer); //释放内存
return 0;
}

回答2:

C++的流操作。
#include
#include
#include

using namespace std;

int main()
{
fstream fs("test.txt");
istreambuf_iterator beg(fs),end;
string data(beg,end);
cout<
system("pause");
return 0;
}

回答3:

可用fread函数。