前提・実現したいこと
コマンドライン引数で C:\sample11-1.txt を読ませて、計算をさせたい
発生している問題・エラーメッセージ
``
アドバイスをくださった方々ありがとうございます
gcc ファイル名.c でコンパイルすると無事にコンパイルできて、
./a.exe C:sample11-1.txt
と打ったのですが反応がありません
(何も表示せずにプログラムが終わってしまっています)
コマンドライン引数でもらったデータをcharに変換することができていないのかもと思いますが調べてもよく分かりませんでした。
該当のソースコード
c言語
1ソースコード 2#include <stdio.h> 3#include <stdlib.h> 4#include <string.h> 5#define MAX_DATA 1000 6 7int main(int argc, char *argv) { 8 if (argc != 2) { printf("使用法: %s <文字列>\n", argv[0]); return 1; } 9 10 char buf[256]; double weight[5]; double sum; int i, n; sum = 0; 11 FILE *fp; 12 char *filename; 13 *filename = argv[1]; 14 fp = fopen(filename, "r"); 15 if (fp == NULL) { printf("ファイル%sが開けません.\n", filename); return 1; } //ファイルオープンのエラー 16 for (n = 0; n < MAX_DATA; n++) { 17 if (fgets(buf, 256, fp) == NULL) break; 18 weight[n] = atof(buf); 19 sum += weight[n]; 20 } 21 fclose(fp); 22 printf("平均 = %5.1lf\n", sum/5); 23 return 0; 24}
試したこと
./a.exe C:\sample11-1.txt で打ちました
補足情報(FW/ツールのバージョンなど)
Visual studio code を使っています。
回答4件
あなたの回答
tips
プレビュー