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;
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值