- 473 名前:デフォルトの名無しさん [2008/01/25(金) 11:27:52 ]
- #include <stdio.h>
#include <stdlib.h> #include <string.h> void fileread(int,char * []); int main(int argc ,char *argv[]) { if(argc!=3){printf("次回から引数を入力してください\n"); return 0; } if(!strcmp(argv[2],"r")){ fileread(argc,argv); } return 0;} void fileread(int argc,char *argv[]){ FILE *fp; char *buffer,*str,*n,*s; fpos_t start_fpos; int filesize,count=0; fp=fopen(argv[1],"r"); fgetpos(fp,&start_fpos); fseek(fp,0,SEEK_END); filesize=ftell(fp); fsetpos(fp,&start_fpos); buffer=(char *)malloc(sizeof(char)*filesize); str=(char *)malloc(sizeof(char)*1000); printf("検索する文字列を入力してください\n"); scanf("%s",str); while(s=fgets(buffer,filesize,fp)){ count++; n=strstr(buffer,str); if(n){printf("%d行目 %s",count,s) }; } free(buffer); fclose(fp); }
|

|