fgets,fputs,fprintf,fscanf

来源:互联网 发布:折800淘宝卖家报名活动 编辑:程序博客网 时间:2024/05/16 17:34

主要讨论fgets,fputs ,fprintf,fscanf与gets,puts,printf,scanf区别

1.stdin stdout,stderr说明
简单讲,FILE * 类型指针
stdin —-默认对应是键盘,键盘是文件一种,设备文件
stdout —默认对应是显示器,也是文件一种
stderr—默认对应是显示器
2.fputs(const char *str, FILE *stream) ,功能更多
puts(const char *str)
对比定义,可以看出,puts是fputs的一种特殊情况

void main(){    char str[100] = { 0 };    gets(str);    puts(str);//当第二个参数是stdin时等价gets,但可以是其他  FILE*,比如fopen函数的返回值,即一个文件    fgets(str, 100, stdin);    fputs(str, stdout);//当第二个参数是stdout时等价puts    system(str);}

3.scanf ,printf

void main(){    char str[100] = { 0 };      fgets(str, 100, stdin);    fputs(str, stdout);    //scanf("%s", str);    //printf("%s\n", str);    fscanf(stdin, "%s", str);//功能更多,scanf只是特殊情况,输入设备是键盘    fprintf(stdout, "%s",str);//功能更多,printf只是特殊情况,输出设备是屏幕    system(str);}
0 0
原创粉丝点击