34行目からの部分で入力されたkeyの文字列があれば出力されるように作ったのですが、どうしても思い通りに出力されません。
問題点と改善策を教えてください。
よろしくお願いします。
#include<stdio.h>
#define MAX 150
int search(char *fn, char *key);
int main(void)
{
int i;
char fname[MAX], key[MAX];
//Source.cppを入力
printf("文字列を入力:"); scanf("%s", fname);
printf("文字列を入力:"); scanf("%s", key);
i = search(fname, key);
printf("\n%sの数:%d\n", key, i);
return 0;
}
int search(char *fn, char *key)
{
int i;
char str[MAX];
FILE *fp;
fp = fopen(fn, "r");
if (fp == NULL){
printf("ファイルオープン失敗");
return 1;
}
i = 0;
while (fscanf(fp, "%s", &str) != EOF){
if (key == str){
i++;
printf("%s\n", str);
}
printf("%2d:%s\n", i, str);
}
fclose(fp);
return i;
}