前提・実現したいこと
標準入力に綴り(英字の並び)が一つ、1行として与えます。 ファイル名 data1.txt をもつファイルの中に、 この綴りと同じ英字の並びが何回現れているかを調べ、その回数を左詰にして1行として書き出します。
発生している問題・エラーメッセージ
思う通りに動きません。
該当のソースコード
#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { FILE *s; #define LINESIZE 100 #define st "data1.txt" char s[LINESIZE]; char word[LINESIZE]; char *p; FILE *s; s= fopen(st,"r"); if( s==NULL ) { printf("NG:%s\n", st); exit(-1); } int n; fgets(word,LINESIZE,stdin); word[strlen(word)-1]= '\0'; for(n=0; fgets(s,LINESIZE,stdin)!=NULL;) { for(p= s; (p= strstr(p,word))!=NULL; p++) { n++; } } printf("%d\n", n); fclose(f); return 0; }
補足情報
どうコーディングすればよいかご教授していただければ幸いです。
回答1件
あなたの回答
tips
プレビュー