当前位置: 代码迷 >> C语言 >> 怎么写读txt文件的程序?
  详细解决方案

怎么写读txt文件的程序?

热度:146   发布时间:2008-04-19 21:46:33.0
怎么写读txt文件的程序?
就是读txt的内容在屏幕上显示出来 .或者说是看电子书.能不能给大概说个算法,最好是C的,我是想往别系统移植,c++不好弄

[[it] 本帖最后由 lzjd 于 2008-4-19 21:50 编辑 [/it]]
搜索更多相关的解决方案: txt  文件  

----------------解决方案--------------------------------------------------------
你就读字符吧...把所有字符都读到数组..然后可以分别处理..在记事本里面其实就是一个字符串...
----------------解决方案--------------------------------------------------------
就是要读字符,不过楼上说得全部读入太占用内存,
如果是嵌入式系统内存很紧张的,
可以每次读固定长度,处理完了在读下一页
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <malloc.h>

int FileLen(FILE *fp)/*求文件长度*/
{
    fseek(fp, 0L, SEEK_END);
    int ret = ftell(fp);
    fseek(fp, 0L, SEEK_SET);
    return ret;
}

int main()
{
    FILE *fp;
    char path[512];
    printf("请输入文件路径:");
    scanf("%s", path);
    fp = fopen(path, "rb");
    if(fp == 0)
    {
        printf("打开文件出错!\n");
        return 1;
    }
    else
    {
        printf("以下是文件内容:\n");
        char *buf;
        int flen = FileLen(fp);
        buf = (char *)malloc(flen + 10);
        fread(buf, flen, 1, fp);
        buf[flen] = '\0';
        fclose(fp);

        printf("%s", buf);
        free(buf);
    }
    return 0;
}
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]moonwalker[/un] 在 2008-4-20 00:28 的发言:[/bo]

就是要读字符,不过楼上说得全部读入太占用内存,
如果是嵌入式系统内存很紧张的,
可以每次读固定长度,处理完了在读下一页

再请教一下,比如要加个书签,就是要下次自动打开上次读到的内容.应该怎么处理?
----------------解决方案--------------------------------------------------------
查一下fseek函数
----------------解决方案--------------------------------------------------------
  相关解决方案