■やりたい事を少し変更させていただきます。
コマンド行(コマンドライン)からファイル名が与えられたとき、 そのファイル名のファイルの中身をそのまま標準出力に書き出すプログラムを作成し
ファイルの中身の書出しに先立って、ファイル名と「:::」とを1行として標準出力に左詰にして書き出すこと。 なお、与えられたファイル名のファイルを開くことができなかった時は、ファイル名に続いて「: can't open.」と書き出す。
■成功例
コマンドライン入力
data1.txt
標準出力
data1.txt:::
ABCD
EFG
コマンドライン入力
data3.txt
標準出力
data3.txt:::
Once upon a time,
there lived a man
whose name was Rip van Winkle.
コマンドライン入力
program.c
標準出力
program.c: can't open.
C
1#include <stdio.h> 2int main() { 3 FILE *fp; 4 fp= fopen("data1.txt","r"); 5 if( fp == NULL ) { 6 printf(": can't open."); 7 } else { 8 int c; 9 while ((c = fgetc(fp)) != EOF) { 10 putchar(c); 11 } 12 fclose(fp); 13 } 14 return 0; 15}
この状態からどう改修すれば良いか教えて頂きたく。。。
ファイル中身
data1.txt ABCD EFG
data2.txt 123 4567 890123
data3.txt Once upon a time,
there lived a man
whose name was Rip van Winkle.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/11/24 01:07