• 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++调用Lua的性能測试

    游戏服务器经典的架构就是C++和Lua的结合,C++开发主体框架.Lua实现一些复杂的逻辑.我们都知道Lua是一种很快的语言.可是究竟有多块.我们測试下看看. C++调用Lua的性能測试.发现不正确的 ...

  2. 零基础学python-5.6 数字位操作与其它工具

    1.位运算 python能够把整数当成二进制位来对待 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/ ...

  3. java中string与json互相转化

    在Java中socket数据传输时,数据类型往往比較难选择.可能要考虑带宽.跨语言.版本号的兼容等问题. 比較常见的做法有两种:一是把对象包装成JSON字符串传输,二是採用java对象的序列化和反序列 ...

  4. iOS开发之软键盘使用小技巧

    在iOS开发过程中,有时候须要弹出软键盘进行输入,有时候又须要在某些情况下隐藏软键盘,以提高用户体验. 今天有几个关于软键盘的小技巧和大家分享. (1)仅仅弹出数字键盘 有某些需求中,要求用户仅仅能在 ...

  5. Servlet具体解释

    Servlet具体解释 基本概述 Session在计算机中,尤其是在网络应用中,称为"会话控制".在计算机专业术语中.Session是指一个终端用户与交互系统进行通信的时间间隔,通 ...

  6. hosts 文件与 ipv6

    ipv6 的项目地址:ipv6-hosts 正如文档中所说,用于在大陆地区加快 Google.YouTube.Facebook.Wikipedia 等的访问:(twitter 不支持) 使用说明(wi ...

  7. snowflake算法

    snowflake算法思考 缘起 为什么会突然谈到分布式唯一id呢?原因是最近在准备使用RocketMQ,看看官网介绍: 一句话,消息可能会重复,所以消费端需要做幂等.为什么消息会重复后续Rocket ...

  8. android学习笔记五。2、其他组件

    一.ContentProvider内容提供者.是是android中一个应用向第三方共享数据的方式,android中的联系人,sms(短信记录)等都是通过这一方式来向外提供的 1.使用: 在应用中使用C ...

  9. python之路:发附带文件的邮件

    发邮件的思路(借用第三方服务): 1.模拟服务器,其中有:服务器地址,发送者地址.发送者的密码 2.创建一个带附件的实例:1.创建一个massage 2.massage包括发送者的地址.接受者的地址. ...

  10. Yeslab 华为安全HCIE七门之-防火墙基础(12篇)

    Yeslab 华为安全HCIE七门之-防火墙基础(12篇) Yeslab 全套华为安全HCIE七门之第二门防火墙基础(12篇),第一门课论坛很早就有了,可自行下载,后面的陆续分享给大家. 华为安全HC ...