读书共享 Primer Plus C-part 10
第十三章 文件输入/输出
- fopen--fclose
fopen 是文件的操作的开始 fclose是文件操作的结束
- getc--putc getchar--putchar
getc对应文件的获取单个字符
1 char ch[100]; 2 FILE * fp; 3 ...//fopen()...; 4 5 ch = getc(fp); 6 7 putc(ch,fp); 8 9
getchar 对应字符的键盘输入输出操作操作
1 #include<stdio.h> 2 3 4 int main() 5 { 6 7 char ch = getchar(); 8 char str[1024] = {0}; 9 int i = 0; 10 while(ch != '\n') 11 { 12 str[i++]=ch; 13 // putchar(ch); 14 ch = getchar() ; 15 16 } 17 str[i]=ch; 18 putchar(ch); 19 printf("*%s \n",str); 20 return 0; 21 }
- fgets--fputs gets--puts
fgets,fputs 针对文件进行字符串进行操作,也可以针对键盘等。
#include<stdio.h> int main() { FILE *p ; char line[1024]={0}; while(fgets(line,1024,stdin)!=NULL && line[0]!= '\n') { fputs(line,stdout); } return 0; }
这段代码是对文件之间进行操作但是逻辑可能又问题 只是简单的展示作用
1 #include<stdio.h> 2 #include<string.h> 3 4 int main() 5 { 6 FILE *fp ; 7 8 char line[1024]={0}; 9 fp = fopen("content_server.list","r+"); 10 while(fgets(line,1024,fp)!=NULL && line[0]!= '\n') 11 { 12 strcat(line,"lcw"); 13 fseek( fp , 1 , SEEK_CUR ); 14 printf("%s %d\n",line,fputs(line,fp)); 15 // fputs(line,fp); 16 } 17 18 fputs("@@",fp); 19 fclose(fp); 20 return 0; 21 22 }
gets--puts 正对键盘输入输出字符串进行操作
#include<stdio.h> int main() { FILE *fp; char words[100]; fp = fopen("./content_server.list","a+"); while(gets(words)!=NULL && words[0]!='\0') { fprintf(fp,"%s",words); } rewind(fp); char ch; while(fscanf(fp,"%s",words)==1) { //putchar(ch); puts(words); } fclose(fp); return 0; }
- fprintf--fscanf printf--scanf--sprintf
fpirntf:类似pfuts fprintf->fputs->fputc 这个是三者的调用时间的结果。详细查询 http://blog.csdn.net/slimfox/article/details/1092709
fscanf:这个不想讲太多参考上面的代码
scanf:键盘读入数据
sprintf:格式化字符串
- fseek--ftell
fseek 移动文件的当前位置
ftell 显示文件的当前位置