C言語について質問です。読み取った文字を関数を使って置き換え、それをファイル出力したいのですが、a[10] = change(s)でエラーが出てしまいます。戻り値を設定すれば良いのですがどのように設定すればいいのか分かりません。分かる方お願いします。
(長くなるのでコードの前半は省略させていただきます。)
char s [5];
char a [10];
// ファイルの読み込み
while(fscanf(fin, "%s", &s) != EOF){
printf("data = %s\n", s);
}
a[10] = change(s);
fprintf(fout, "%s\n", s); //ファイル文字の出力
fprintf(fout,"%s",a); //置き換えた後の出力
// ファイルを閉じる
fclose(fout);
fclose(fin);
return 0;
}
void change(char *x){
int i;
char judge1[] = "O";
char judge2[] = "X";
for ( i = 0; i < 4; i++){
if ("%d",x[i] == 97){
printf("%s%s\n",judge1,judge2);
}
if ("%d",x[i] == 98){
printf("%s%s\n",judge1,judge2);
}
if ("%d",x[i] == 99){
printf("%s%s\n",judge2,judge2);
}
}
return ;
}
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
「chang関数を使いOやXに置き換えたい」っていうけど, 「置き換え」るという操作は一般に
何かを何かに
ということになるから, 「何を」OやX に置き換えるのかを決めなきゃいけない.
何?
No.2
- 回答日時:
void な関数に返り値を持たない return文を書くこと自体はおかしくもなんともないよ>#1. void な関数で返り値を持つ return文を書いたり void でない関数で返り値を持たない return文を書くのはダメだけど.
という脇の話はさておき, そもそもその change なる関数でなにをしたいの? それを一切書かないで「どうしたら」っていわれても
あなたの期待するように (それがどのようなものかはまったくわからないけど) 書けばいい
としか返しようがない.
すみません。説明が足りませんでした。ファイルから読み取った文字(省略部分ですが一般的なファイルの読み込みのプログラムです)を、chang関数を使いOやXに置き換えたいのです。printfで置き換えられた事は確かめられました。しかし、そこからファイル出力に持ってく方法が分からないのです。
No.1
- 回答日時:
> 長くなるのでコードの前半は省略させていただきます。
ideone辺りに貼り付けてからリンク貼ったらイイんじゃないですか?
ideone.com
https://ideone.com/
じゃないと何がやりたいんだか、どう言うエラー出るんだかサッパリ分からん。
まあ、
> void change(char *x)
とか言ってるクセに
> return ;
があるのもおかしいし、本来なら文字列(char *)返したいんだろうけど、printfしてるし意味不明です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Enterキーを押されたら次の処理...
-
printf による16進表示について
-
C言語でのCSVファイルの読み出...
-
C言語で複数列のデータを1列の...
-
#defineが使用するメモリ領域に...
-
リストの作成と出力(C言語)
-
エラーについて質問です。
-
VC++でSQLへSELECT文を送ったの...
-
C++で指定文字列のカウント方法...
-
【C言語】全角文字の配列を、全...
-
C言語のプログラムで、途中で止...
-
reallocでエラー
-
構造体メンバの初期化
-
char型2つを結合し、short型に...
-
信頼区間の1.96や1.65ってどこ...
-
マイナスからプラスへ転じた時...
-
C言語での引数の省略方法
-
【C++】関数ポインタの使い方
-
2÷3などの余りについて
-
「指定されたキャストは有効で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Enterキーを押されたら次の処理...
-
C言語で複数列のデータを1列の...
-
printf による16進表示について
-
C言語のプログラムで、途中で止...
-
char型2つを結合し、short型に...
-
矢印キーを押下してコンソール...
-
#defineが使用するメモリ領域に...
-
【C言語】全角文字の配列を、全...
-
終了条件Ctrl+zについて,結果表...
-
空白を含んだ文字列がうまく格...
-
プログラミングの授業の課題です
-
リストの作成と出力(C言語)
-
c言語で文書を読み込み、単語の...
-
構造体メンバの初期化
-
エラーについて質問です。
-
reallocでエラー
-
C言語でのCSVファイルの読み出...
-
なぜ無限ループになるかが分か...
-
Cプログラムについて
-
C++で指定文字列のカウント方法...
おすすめ情報