c
1int main(void) { 2 3 char map[WORLD_H][WORLD_W]; 4 5 system("cls"); 6 7 COORD coord; 8 HANDLE hStdout; 9 hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 10 11 12 13 14 int checkno; 15 char inva[50]; //入力された値 16 int len; //入力された文字数 17 int hikaku; // 入力値の後ろ4文字が .txt であるかどうか 18 char* ap = inva; 19 20 21 printf("数字を入力してください(乱数) 文字または文字列を入力してください(ファイル読み込み) 21行以上エラー"); 22 scanf("%s", &inva); 23 24 checkno = check_number(inva); //数値か文字、文字列かのチェック。 25 26 len = strlen(inva); //入力された文字数 取得 27 28 29 30 31 32 if (checkno == -1) { //入力された値が文字か文字列だった場合 33 34 hikaku = strcmp(inva + strlen(inva) - 4, ".txt"); //入力値 後ろ 4文字が .txt だったら テキストファイルを読み込み 35 if (hikaku == 0) { 36 37 fileop(map,ap); 38 exit(10); 39 } 40 else { // 入力値 後ろ 4文字が .txt ではなかったら 終了 41 printf("テキストファイルではありません"); 42 exit(10); 43 } 44 45 46//ファイル読み込む 47void fileop(char temp[WORLD_H][WORLD_W], char txtname[]) { 48 49 FILE* fp; 50 char txt; 51 52 53 54 55 fp = fopen(txtname, "r"); 56 if (fp == NULL) { 57 printf("%s file not open!\n", txtname); 58 59 return; 60 } 61fclose(fp); 62} 63 64 65 66
scanf 入力された文字列を fileop 関数に 受け渡して そのテキストファイルを開きたいのですが
受け渡しが上手くいきません。
警告が2つでます。
1.'fileop': 実引数が多すぎま この部分→ fileop(map,ap);
2.宣言されたパラメーターリストが定義と一致しません。 この部分→void fileop(char temp[WORLD_H] [WORLD_W], char txtname[]) {
この二つの警告が出ます。
警告で言われていることは何となく分かるのですが、なかなか上手くいかないのでアドバイス頂けると助かります。
----------追記---------
警告 消えてました。すいません。
こうした方が良いなどコードにアドバイス頂けたら幸いです。
回答2件
あなたの回答
tips
プレビュー