zoukankan      html  css  js  c++  java
  • 文件输入/输出

    fopen:打开文件.第一个参数文件名的字符串地址。打开模式:r:读 w:写,会改 没有就创建 a:追加 ,没有就创建 r+:读取和写入 w+:同上但会改 没有就创建
    a+:同上,但是追加 rb,wb,ab,ab+,a+b,wb+,w+b,ab+,a+b,使用二进制模式而不是文本模式打开,其他类似



    getc():到达文件结尾时,会返回EOF putc() 与getchar()、putchar类似但适用于文件 putc(ch,文件指针)

    fclose 关闭由指针fp指定的文件
    #include<stdio.h>
    int main()
    {
    int ch;
    FILE * fp;
    fp = fopen("49.c","r");
    while((ch = getc(fp)!=EOF))
    putchar(ch);

    fclose(fp);

    }

    //要指定文件的属性
    #include<stdio.h>
    #include<stdlib.h>//exit()
    #include<string.h>
    #define LEN 40
    int main(int argc,char *argv[])
    {
    FILE *in,*out;
    int ch;
    char name[LEN];
    int count = 0;

    if(argc < 2)
    {
    fprintf(stderr,"error!");
    exit(1);
    }

    if((in = fopen(argv[1],"r")) ==NULL)
    {
    fprintf(stderr,"ERROR!");
    exit(2);

    }

    strcpy(name,argv[1]);
    strcat(name,".red");

    if((out = fopen(name,"w")) == NULL)
    {
    fprintf(stderr,"ERROR1");
    exit(3);
    }


    while((ch = getc(in)) != EOF)
    if(count++ % 3 == 0)
    putc(ch,out);

    if(fclose(in) != 0 || fclose(out) != 0)
    fprintf(stderr,"ERROR2");

    return 0;

    }


    文件I/O:fprintf(),fscanf(),fgets(),fputs();


    fgets()第一个参数与gets相同,存储输入的地址,第二个输入字符串的最大长度,第三个指向要读取的文件,自动在最大数目达到前加‘’,所以读取MAX-1个字符
    ----最大数目前读完,在‘’前加个‘ ’

    fputs()不会添加换行符 stdin,stdout键盘输入和输出


    fseek()在打开的文件中直接移动到任意字符处
    ftell()返回文件的当前位置

    fgetpos() fsetpos 文件比较大时用


    ungetc()放回字符

    fflush()刷新缓存区

    setvbuf()建立一个供标准I/O文件使用的替换缓存区

    二进制I/O:fread()和fwrite()修正了数字保存到文件中,fprintf()存的时候会把它变为字符串存储,1/3变为了0.333333

    feof()检测到文件结尾返回非零值,ferror()读写错误,返回一个非零值

  • 相关阅读:
    Xcode Debugging
    GCD 深入理解
    iOS GCD编程
    iOS 面试之Block
    iOS SDWebImage 实现原理
    Block 初试
    通讯录
    UIScrollerView 的简单使用
    NSSet NSMutableSet的简单使用
    code
  • 原文地址:https://www.cnblogs.com/zxj-262410/p/6691255.html
Copyright © 2011-2022 走看看