ファイルから1行ずつ読み込んで行番号を付けて表示するための取っ掛かりを教えて頂けませんか?以下、問題文です。
実行例のようにコマンド引数に指定したテキストファイルを開き,ファイルから1行ずつ読み込んで行番号を付けて表示するプログラムを作成しなさい.コマンド引数が指定されなかった場合には,エラーメッセージを表示してプログラムを停止させること.
保存場所はinfo1 ファイル名はexC3.c
実行例(info1内にテキストファイルexC23.cが置いてあるとする)
% cat exC23.c ← テキストファイル exC23.c の内容を確認
#include <stdio.h>
int main(void)
{
char a[] = "Sample Text";
printf("%s¥n", a);
return 0;
}
% ./exC3 exC23.c ← テキストファイル名 exC23.c をコマンド引数に指定してプログラム実行
1: #include <stdio.h>
2:
3: int main(void)
4: {
5: char a[] = "Sample Text";
6:
7: printf("%s¥n", a);
8:
9: return 0;
10: }
% ./exC3 ← テキストファイル名が指定されていないときには,エラーメッセージを表示
ファイル名を指定して下さい
%
ファイル入出力2.1
Re: ファイル入出力2.1
取っ掛かりとしてはまず、動作させる環境をつくるところとかですかね。
前回に続いて動くプログラムになってないのですが、コンパイルとかしてないのでしょうか?
ちゃんと動かせる環境があるのならば、コンパイル時のエラーを読みましょう。
エラーの意味がわからなければ、エラーの内容をここで聞きましょうか。
前回に続いて動くプログラムになってないのですが、コンパイルとかしてないのでしょうか?
ちゃんと動かせる環境があるのならば、コンパイル時のエラーを読みましょう。
エラーの意味がわからなければ、エラーの内容をここで聞きましょうか。
Re: ファイル入出力2.1
ファイルを読み込んでそのまま出力するプログラムです。
行番号を付けるには、プログラム開始時または改行('\n')を読み込んだ後、次の文字を出力する前に行番号を出力する処理を追加すればいいでしょう。
#include <stdio.h>
int main(int argc, char* argv[]) {
FILE* fp;
int input;
if (argc < 2) {
/* コマンド引数が指定されなかった場合 */
fputs("エラーメッセージ\n", stderr);
return 1;
}
/* ファイルを開く */
fp = fopen(argv[1], "r");
if (fp == NULL) {
/* ファイルを開けなかった */
fputs("ファイルオープンに失敗\n", stderr);
return 1;
}
/* ファイルを読み込んで処理する */
while ((input = getc(fp)) != EOF) {
putchar(input);
}
fclose(fp);
return 0;
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: ファイル入出力2.1
こんにちは
書き直したプログラムも張ってもらえると嬉しいです^^
今のままだと、以下の点が気にくわないです^p^
5行目:関数呼び出し時に変数宣言してる×2
7~8行目:main関数に引数はないけど引数の数とか文字列用の変数を宣言してる。(エラーではない)
10~17行目:main関数の中でmain関数を定義してる。(このmain関数はexC23.cに記述するべきでは?)
書き直したプログラムも張ってもらえると嬉しいです^^
今のままだと、以下の点が気にくわないです^p^
5行目:関数呼び出し時に変数宣言してる×2
7~8行目:main関数に引数はないけど引数の数とか文字列用の変数を宣言してる。(エラーではない)
10~17行目:main関数の中でmain関数を定義してる。(このmain関数はexC23.cに記述するべきでは?)
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る: