• fseek

     //文件路径
    char path[] = "1.txt"; //FILE *pf = fopen(path, "a+");//尾部添加,文件指针在尾部
    //FILE *pf = fopen(path, "w+");//文件指针在头部,清空内容
    FILE *pf = fopen(path, "r+");//文件指针在头部,不清空内容
    fseek(pf, , SEEK_END);
    fputs("", pf);
    fflush(pf);//刷新文件 //插入
    int length = ;
    for (int i = ; i < ;i++)
    {
    fseek(pf, --i-, SEEK_END);
    int ch = fgetc(pf);
    //#define SEEK_CUR 1 当前
    //#define SEEK_END 2 结束
    //#define SEEK_SET 0 开头 fseek(pf, -i-, SEEK_END);
    fputc(ch,pf);
    fflush(pf);//刷新文件
    }
    fseek(pf, -, SEEK_END);//a+ 文件指针移动无效
    //r+,文件覆盖
    fputs("abcdefg", pf);
    fflush(pf);//刷新文件 fclose(pf);
  • 以"rb+"的形式打开文件指针在头部,不清空内容
         char path[] = "1.txt";
    FILE *pf = fopen(path, "rb+");//文件指针在头部,不清空内容 fseek(pf, -, SEEK_END);//a+ 文件指针移动无效
    fputc('', pf);
    fputs("", pf); rewind(pf); char ch;
    while ((ch=fgetc(pf))!=EOF)
    {
    putchar(ch);
    } fclose(pf);
  • 宽字符读取文件
     //设定中文
    setlocale(LC_ALL, "zh-CN");
    wchar_t path[] = L"Z:\\I\\百度内部员工联系方式.txt";
    //文件指针在头部,不清空内容
    FILE *pf = _wfopen(path, L"r"); if (pf==NULL)
    {
    printf("error");
    }
    wchar_t wstr[] = { };
    wchar_t *p = fgetws(wstr, , pf);
    wprintf(L"-%s-\n", wstr);
    p = fgetws(wstr, , pf);
    while (p!=NULL)
    {
    //输出
    wprintf(L"-%s-\n", wstr);
    p = fgetws(wstr, , pf);
    } fclose(pf);
  • 常用宽字符文件函数
     //fgetc  fgetwc
    //fputc fputwc
    //fgets fgetws
    //fputs fputws
    //fprintf fwprintf
    //fscanf fwscanf //fread ,fwrite
  • fgetwc fputwc putwchar用法示例
         setlocale(LC_ALL, "zh-CN");
    FILE *pfr = _wfopen(L"QQ-腾讯通讯录.txt", L"rb");
    FILE *pfw = _wfopen(L"QQc.txt", L"wb");
    while (!feof(pfr))
    {
    wchar_t ch = fgetwc(pfr);//获取宽字符
    fputwc(ch, pfw);
    putwchar(ch);//显示宽字符 }
    fclose(pfr);
    fclose(pfw);
  • fgetws fputws wprintf用法示例
            setlocale(LC_ALL, "zh-CN");
    FILE *pfr = _wfopen(L"QQ-腾讯通讯录.txt", L"rb");
    FILE *pfw = _wfopen(L"QQ.txt", L"wb");
    while (!feof(pfr))
    {
    wchar_t wstr[] = { };
    fgetws(wstr, , pfr);
    wprintf(L"%ls",wstr);
    fputws(wstr, pfw);//宽字符写入 }
    fclose(pfr);
    fclose(pfw);
  • fwscanf fwprintf用法示例
             setlocale(LC_ALL, "zh-CN");
    wchar_t wstr[] = { };
    fwscanf(stdin, L"%s", wstr);
    fwprintf(stdout, L"%s%d%s", L"你好", ,wstr);

73.fseek与宽字符读取文件的更多相关文章

  1. 【java】:读取文件

    PS:转 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容4.随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制 ...

  2. java读取文件多种方法

    1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**      * 以字节为单位读取文件,常用 ...

  3. java实现读取文件大全

    1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件 ...

  4. 【转】Java读取文件方法大全

    本文转自:http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html#undefined 目录: 按字节读取文件内容 按字符读取文 ...

  5. [Java]读取文件方法大全

    1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 , byteread);             }         } catch (IOException  ...

  6. Java读取文件方法和给文件追加内容

    本文转载自:http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文 ...

  7. Java开发之I/O读取文件实例详解

    在java开发或者android开发中,读取文件是不可避免的,以下对java开发中读取文件做了归纳和详解: 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 pa ...

  8. 转载:[Java]读取文件方法大全

    转载网址:http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取 ...

  9. [Java]读取文件方法大全(转)

    [Java]读取文件方法大全   1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**     ...

随机推荐

  1. C# 从需要登录的网站上抓取数据

    [转] C# 从需要登录的网站上抓取数据 背景:昨天一个学金融的同学让我帮她从一个网站上抓取数据,然后导出到excel,粗略看了下有1000+条记录,人工统计的话确实不可能.虽说不会,但作为一个学计算 ...

  2. python main函数

    关于Python的主(main)函数问题 2007-07-23 19:14 初次接触Python的人会很不习惯Python没有main主函数.这里简单的介绍一下,在Python中使用main函数的方法 ...

  3. 一 梳理 从 HDFS 到 MR。

      MapReduce 不仅仅是一个工具,更是一个框架.我们必须拿问题解决方案去适配框架的 map 和 reduce 过程   很多情况下,需要关注 MapReduce 作业所需要的系统资源,尤其是集 ...

  4. ArcGIS api for javascript——加入地图并显示x,y坐标

    这个示例报告了用户在地图上悬停和拖拽鼠标的鼠标指针坐标.通过事件监听器来更新鼠标移到的x和y坐标. 下行代码创建了地图: var map = new esri.Map("map") ...

  5. 给一个执行在windows 7和NAT下的VMWARE虚拟机分配固定IP

    虚拟机上装了个oracleserver,每次vmware重新启动或者resume时总要分配新的IP地址,这样就得改动windows下的client配置,所以须要想办法把IP地址固定住. DHCP服务在 ...

  6. &lt;Machine Learning in Action &gt;之二 朴素贝叶斯 C#实现文章分类

    def trainNB0(trainMatrix,trainCategory): numTrainDocs = len(trainMatrix) numWords = len(trainMatrix[ ...

  7. EventBus框架原理解析(结合源代码)(上)

    上一篇文章http://blog.csdn.net/crazy__chen/article/details/47425779 和大家一起模仿EventBus的实现机制.和大家一起写出了一个简易的Eve ...

  8. 权重轮询调度算法 java版本号

    权重轮询调度算法(Weighted Round-Robin Scheduling)--java版本号 因为每台server的配置.安装的业务应用等不同.其处理能力会不一样.所以,我们依据server的 ...

  9. ios系统提示音的使用(不是铃声)

    AudioServices Jump to: navigation, search AudioServices is a group of C functions in AudioToolbox fo ...

  10. Codefroces B. Hamming Distance Sum

    Genos needs your help. He was asked to solve the following programming problem by Saitama: The lengt ...