• 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. myeclipse2013 jsp编辑初始化

    首先,大家可能有过这种经历.双击打开jsp编辑.它默认会打开视图,这样就使人恼火了,卡死了.所以我们能够自己设jsp的默认打开方式:打开Window-->preferences得: 搜索edit ...

  2. Android GridView LruCache

    照片墙这种功能现在应该算是挺常见了,在很多应用中你都可以经常看到照片墙的身影.它的设计思路其实也非常简单,用一个GridView控件当作“墙”,然后随着GridView的滚动将一张张照片贴在“墙”上, ...

  3. Eclipse如何新建一个tomcat_server发布web项目

    方法/步骤     通过Eclipse打开一个正在开发阶段的java的web项目,没有项目的,只是为了学习的话,可以新建一个测试的java的web项目即可.在功能窗口找到如图所示的Servers窗口, ...

  4. installp 软件的4种状态

    安装和维护LPP软件     installp 对包提供了如下四种主要的操作: Apply Commit Reject Remove   webes.4.0.0.1 commited webes.4. ...

  5. xwiki操作手册

    Xwiki官网:http://www.xwikichina.com/xwiki/bin/view/Main/中文官网. 1   用户管理 1.1    添加新用户 用户管理需要管理员权限,管理员登陆后 ...

  6. java使用默认线程池踩过的坑(二)

    云智慧(北京)科技有限公司 陈鑫 是的.一个线程不可以启动两次.那么它是怎么推断的呢? public synchronized void start() { /** * A zero status v ...

  7. Razor小案例

    Model using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ...

  8. android 图片特效处理之 光晕效果

    这篇将讲到图片特效处理的图片光晕效果.跟前面一样是对像素点进行处理,本篇实现的思路可参见android图像处理系列之九--图片特效处理之二-模糊效果和android图像处理系列之十三--图片特效处理之 ...

  9. 63.C++异常

    #include <iostream> using namespace std; //异常与错误不一样,异常一般能正常工作 //错误就是程序无法正常工作,无法编译 //异常让程序在错误的输 ...

  10. Kinect 开发 —— 骨骼追踪

    骨骼追踪技术通过处理景深数据来建立人体各个关节的坐标,骨骼追踪能够确定人体的各个部分,如那部分是手,头部,以及身体.骨骼追踪产生X,Y,Z数据来确定这些骨骼点.骨骼追踪系统采用的景深图像处理技术使用更 ...