• 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. 11 hbase源码系列(十一)Put、Delete在服务端是如何处理

    hbase源码系列(十一)Put.Delete在服务端是如何处理?    在讲完之后HFile和HLog之后,今天我想分享是Put在Region Server经历些了什么?相信前面看了<HTab ...

  2. Android布局文件的载入过程分析:Activity.setContentView()源代码分析

    大家都知道在Activity的onCreate()中调用Activity.setContent()方法能够载入布局文件以设置该Activity的显示界面.本文将从setContentView()的源代 ...

  3. Mesh BRep Shapes

    Mesh BRep Shapes eryar@163.com Abstract. 当对OpenCASCADE的BRep表示法的数据结构有了一定的理解后,建议可以自己实现一个显示数据生成的功能,即网格剖 ...

  4. Android的矩阵(一):ColorMatrix

    最近的学习过程中看到关于android色彩矩阵的内容,以前看到这部分内容,基本都是跳过的,没有认真细读. 自己给自己找的借口是: 1,大一学的矩阵内容早就忘的干干净净了,当时学的时候就很烦人,所以现在 ...

  5. 水 hdu5208 2015-04-20 21:03 36人阅读 评论(0) 收藏

    题意: 选择数列中两个数,使得最大公约数最大 分析: 类似筛选法,因为数值不大,可以用b[i]计算i是多少个数的因子.最后取最大的i即可. #include <bits/stdc++.h> ...

  6. HTTP 各种特性应用(一)

    一. CORS 预请求 允许方法: GET. HEAD. POST 这三个方法 不需要预请求. 允许 Content-Type text/plain. multipart/form-data. app ...

  7. UESTC 1584

    http://acm.uestc.edu.cn/#/problem/show/1584 Washi与Sonochi的约定 Time Limit: 3000/1000MS (Java/Others)   ...

  8. Bundles软件

    Bundle 称为:软件集 或 打包捆绑软件(软件束) Bundle就是一组包含了文件集,软件包或许可程序产品的软件,它们组合在一起为了实现一个特定的功能     快速来列出系统bundle软件 sm ...

  9. ES6特性-带标签的模板字符串(tagged template)

    tagged template: 加在模板字符串前面加一个标签(函数). let dessert = = '甜品' drink = '茶' let breakfast = kitchen`今天的早餐是 ...

  10. Xcode Git 客户端 + GitBucket 服务器 使用整合归纳

    1.使用前说明: 不知道XCode,Git的请自行度娘,不知道GitBucket的,可参考文章:git 私服搭建-gitbucket 初试牛刀 2.创建Git步骤 1>在gitbucket创建账 ...