• 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. PatentTips - Virtualizing performance counters

    BACKGROUND Generally, the concept of virtualization in information processing systems allows multipl ...

  2. KVM硬件辅助虚拟化之 EPT in Nested Virtualization

    在嵌套虚拟环境(Nested Virtualization)下,执行在hypervisor上的Virtual Machine仍能够作为hypervisor去执行其他的Virutal Machine,而 ...

  3. type &#39;simple Class&#39; does not conform to protocol &#39;Example Protocol&#39;错误

    在看swift教程中"接口和扩展"这小部分. 在编写时提示"type 'simple Class' does not conform to protocol 'Examp ...

  4. JVM-java字符编码

    在JVM内部,所有的字符都是用Unicode编码的.而对于JVM所在操作系统的文件系统,可能有不同的编码类型. 由于JVM和OS文件系统所使用的编码方式不同,JVM在与操作系统进行数据交互的时候,就会 ...

  5. Windows 7: Update is not applicable to your computer

    https://www.sevenforums.com/windows-updates-activation/119088-update-not-applicable-your-computer.ht ...

  6. 由安装两块网卡的linux系统中引起网络不通想到的

    由安装两块网卡的linux系统中引起网络不通想到的 一天,小王突然急匆匆的来找我,他说:"我在机子上刚装的redhat怎么老也ping不通服务器,我网卡的驱动都安装了,ping 自己的两块网 ...

  7. OPENCV(6) —— 角点检测

    图像特征的类型通常指边界.角点(兴趣点).斑点(兴趣区域).角点就是图像的一个局部特征,应用广泛.harris角点检测是一种直接基于灰度图像的角点提取算法,稳定性高,尤其对L型角点检测精度高,但由于采 ...

  8. 做raid1 经验总结

    背景: MHP 3楼一台ThinkServer  TS200 老服务器做RAID1,硬盘为: 2块3T RAID 设定里显示: 制作RAID1  只有700G多点可做. 系统安装: 可以正常在700G ...

  9. Hexo High一下以及压缩排版问题

    背景介绍 集成Hight一下以及Gulp-html压缩之后出现的问题: High一下功能多次点击,会创建多个Audio对象,导致同时播放多次音乐,重音.解决办法:判断是否添加Audio对象,如果存在则 ...

  10. [python]CompressionError: bz2 module is not available

    事情是这种,在centos6 上本来是python2.6 然后我下载了一个python2.7.5 安装之后,把默认python改动为python2.7.5版本号. 使用pip安装twisted的时候出 ...