プログラム実行
下記のプログラムを実行したら、
「警告 W8065 random01.c 15: プロトタイプ宣言のない関数 'strcat' の呼び出し(関数 ma
in )
エラー E2342 random01.c 15: パラメータ '__path' は const signed char * 型として
定義されているので int は渡せない(関数 main )
警告 W8065 random01.c 34: プロトタイプ宣言のない関数 'strcmp' の呼び出し(関数 ma
in )
警告 W8065 random01.c 34: プロトタイプ宣言のない関数 'strcmp' の呼び出し(関数 ma
in )」
と表示されました。どこを改善すればうまくいきますか?
OSはWinXPでコンパイラはボーランドのフリーコンパイラを使用しています。
#define RECORDLEN 33
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char fname[256], data[16], ans[8];
int no;
printf("ファイル名");
fp = fopen(strcat(gets(fname), ".txt"), "r");
if (fp == NULL) {
perror("ファイルがオープンできません\n");
return -1;
}
while (1) {
printf("何人目のデータを読み込みますか---");
gets(ans);
no = atoi(ans);
fseek(fp, RECORDLEN * (no - 1), SEEK_SET);
if (fscanf(fp, "%s", data) == EOF) {
perror("読み込みエラーです\n");
continue;
}
printf("[氏名] %s", data);
fscanf(fp, "%s", data);
printf("[電話] %s\n", data);
printf("続けますか(y/n): ");
gets(ans);
if (strcmp(ans, "n") == 0 || strcmp(ans, "N") == 0)
break;
}
fclose(fp);
return 0;
}