开源精神,提倡0金币文档
1.getchar();
这个函数与fgets和fgetc的区别fgetc(stdin)等价,用于每次从键盘读入一个字符
    char c[200];
    int i;
    for(i=0;(c[i]=getchar())!='\n';i++)
    printf("%c",c[i]);
    c[i]='\0';    /*如果这里在字符串后加入’\0’则后面将输出不可预料的数据,’\0’是字符串的结束标记,如果没有’\0’则表示字符串没有结束*/
    printf("\n%s\n",c);
2.fgetc(FILE*)
这个函数返回一个int值,不是char,如果文件结束,fgetc()将返回一个特殊的标记EOF,它并不是char,用int型输出是‘-1’,用char型输出是两个空格,不能用其他类型输出,执行错误
int i;
    FILE* f;
    f=fopen("","r");
    i=fgetc(f);
    while(i!=EOF)
    {
        printf("%c",(char)i);
        i=fgetc(f);
    };
    printf("%d",i);
    printf("%c",i);
    printf("%c",'c');
    printf("\n");
3.fgetc(stdin)
fgetc(FILE*)的标准输入版
char c[200];
    int i;
    for(i=0;(c[i]=fgetc(stdin))!='\n';i++);
        c[i]='\0';
    printf("%s\n",c);
再次强调这个函数的返回值是int
4.fgets(char* , int capacity, FILE*)
第一个参数为指向字符数组的字符指针,第二个参数表示所指数组的最大容量,第三个为
文件指针。这个函数用于文件中读入一整行数据,读入不超过capacity-1个字符,然后在字符末尾自动加上’\o’,一旦函数读取到’\n’,函数自动停止工作,并且’\n’是字符数组的最后一个有效字符,除非文件不是以’\n’结尾的
char c[200];
    int i;
    FILE* f;
    f=fopen("","r");
    fgets(c,200,f);
    printf("%s",c);
    printf("%c\n",'c');
5.gets(char*)
fgets()的标准版,但是此函数存在缓冲区溢出漏洞(即它不管数组的大小,不论你输入多少它都接受,但是会出现执行错误),不推荐使用
char c[10];
    int i;
    gets(c);
    printf("%s",c);
    printf("%c\n",'c');

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。