#include<stdio.h> #include<stdlib.h> #define MAX 41 static int i=0; int main(void) { FILE *fp; char words[MAX]; if((fp=fopen("words","a+"))==NULL) { fprintf(stdout,"Can't open /" word/" file/n"); exit(1); } puts("Enter words to add to the file,press the enter."); puts("Key at the begining of a line to terminate."); while(gets(words)!=NULL&&words[0]!='/0') { fprintf(fp,"%s",words); i++; } rewind(fp); while(fscanf(fp,"%s",words)==1) { puts(words); } if(fclose(fp)!=0) { fprintf(stderr,"Error closing file./n"); } return 0; } #include<stdio.h> #include<stdlib.h> #define MAX 2000 int main(void) { FILE *fp; char words[MAX]; int wordct=0; if((fp=fopen("words","a+"))==NULL) { fprintf(stderr,"Can't open /" word/" file/n"); exit(1); } rewind(fp); while (fgets(words, MAX - 1, fp) != NULL) wordct++; rewind(fp); puts("Enter words to add to the file,press the enter."); puts("Key at the begining of a line to terminate."); while(gets(words)!=NULL&&words[0]!='/0') { fprintf(fp,"%d:%s",++wordct,words); } puts("File contents:"); rewind(fp); while(fgets(words,MAX-1,fp)!=NULL) { fputs(words,stdout); } if(fclose(fp)!=0) { fprintf(stderr,"Error closing file./n"); } return 0; } /*文件名由用户输入,建立一个循环,让用户输入文件位置, 则打印位置到下一个换行符之间的字符,当输入非数字字符时退出*/ #include<stdio.h> #include<stdlib.h> #include<ctype.h> #define MAX 41 int main(void) { FILE *fp; char ch; char file[MAX]; long address; puts("请输入文件名"); gets(file); if((fp=fopen(file,"rb"))==NULL) { fprintf(stderr,"Can't open the %s/n",file); exit(1); } printf("请输入一个文件位置/n"); while(1) { scanf("%ld",&address); if(isdigit(address)) { break; } fseek(fp,address,SEEK_SET); while((ch=getc(fp))!='/n' && (ch=getc(fp))!=EOF) { putchar(ch); } putchar('/n'); printf("请输入一个文件位置/n"); } fclose(fp); puts("Bye!"); return 0; } #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 256 int main(int argc, char *argv[]) { FILE *fp; char line[MAX]; if(argc!=3) { printf("Usage:%s filename",argv[0]); exit(1); } if((fp=fopen(argv[2],"r"))==NULL) { fprintf(stderr,"Can't open the %s",argv[2]); exit(1); } while(fgets(line,MAX-1,fp)!=NULL) { if(strstr(line, argv[1])!=NULL) { fputs(line,stdout); } } fclose(fp); return 0; } #include<stdio.h> #include<stdlib.h> #define ROW 20 #define COL 30 #define LEVELS 10 const char trans[LEVELS + 1] = " .':~*=&%@"; void init(char arr[][COL],char ch); void MakePic(int data[][COL],char pic[][COL],int row); int main(void) { FILE *fp; int row,col; char txt[20]="1312.txt"; int picIn[ROW][COL]; char picOut[ROW][COL]; init(picOut,'S'); if((fp=fopen(txt,"r"))==NULL) { fprintf(stderr,"Can't open the %s",txt); exit(1); } for(row=0;row<ROW;row++) { for(col=0;col<COL;col++) { fscanf(fp,"%d",&picIn[row][col]); } } if (ferror(fp)) { fprintf(stderr, "Error getting data from file./n"); exit(EXIT_FAILURE); } MakePic(picIn, picOut, ROW); for(row=0;row<ROW;row++) { for(col=0;col<COL;col++) { putchar(picOut[row][col]); } putchar('/n'); } return 0; } void init(char arr[][COL],char ch) { int r,c; for(r=0;r<ROW;r++) { for(c=0;c<COL;c++) { arr[r][c]=ch; } } } void MakePic(int data[][COL],char pic[][COL],int row) { int rows,cols; for(rows=0;rows<row;rows++) { for(cols=0;cols<COL;cols++) { pic[rows][cols]=trans[data[rows][cols]]; } } }