转载自:http://zhidao.baidu.com/question/212263297.html
如何将一个位置格式的TXT文件的所有内容读入一个字符串。。。。。用C语言实现。。。。这个字符串如何动态申请。。。。
下面是一个完整的实例, 楼主参考:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* pchBuf = NULL;
int nLen = 0;
// 打开文件~
const char* pchPath = "/Users/user/Desktop/123.txt";
FILE *pF = fopen(pchPath, "r");
// 文件指针移到文件尾~
fseek(pF, 0, SEEK_END);
// 得到当前指针位置, 即是文件的长度~
nLen = ftell(pF);
// 文件指针恢复到文件头位置~
rewind(pF);
// 动态申请空间, 为保存字符串结尾标志 \0, 多申请一个字符的空间~
pchBuf = (char*) malloc(sizeof(char)*nLen+1);
if(!pchBuf) {
perror("内存不够!\n");
exit(0);
}
// 读取文件内容~
// 读取的长度和源文件长度有可能有出入,这里自动调整 nLen~
nLen = fread(pchBuf, sizeof(char), nLen, pF);
// 添加字符串结尾标志~
pchBuf[nLen] = '\0';
// 把读取的内容输出到屏幕看看~
printf("%s\n", pchBuf);
// 关闭文件~
fclose(pF);
// 释放空间~
free(pchBuf);
return 0;
}