C读取文件
转载自: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; }