前提・実現したいこと
なぜ、test.txtにコピーされるのかが分からないです。
コマンドプロンプトで「>concat.exe concat.c > test.txt」と入力すると、test.txtにconcat.cの内容が記載されています。
該当のソースコード
concat.c
#include<stdio.h>
void copy(FILE *src, FILE *dst) {
int ch; while ((ch = fgetc(src)) != EOF) { fputc(ch, dst); }
}
void main(int argc, char *argv[]) {
FILE *fp;
if (argc < 2) { copy(stdin, stdout); } else { while (--argc > 0) { if ((fp = fopen(*++argv,"r")) == NULL) { fprintf(stderr,"ファイル%sが正しくオープンできません。\n",*argv); return 1; } else { copy(fp, stdout); fclose(fp); } } }
}
試したこと
①コマンドプロンプトで「concat.c > test.txt」を実行した。
その結果、concat.cが立ち上がった。
②VisualSutudioのデバッグモードでコマンドライン引数に「concat.c > test.txt」を指定。
その結果、「if ((fp = fopen(*++argv,"r")) == NULL) 」でファイルオープンエラーとなった。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/16 15:33