前提・実現したいこと
関数readDataを使ってデータを読み込みたいです。
Cygwin64 Terminalで実行すると、以下のように表示されました。
発生している問題・エラーメッセージ
$ ./te ファイル名を入力してください:c_da.txt 入力ファイル c_da.txtをオープンできません.
該当のソースコード
c
1#include <stdio.h> 2#include <stdlib.h> 3 4/* プロトタイプ宣言 */ 5void readData( char filename[], int N, double xt[] ); 6 7int main(void) 8{ 9 /* 変数宣言*/ 10 double x_n[100]; 11 char readfile[20]; 12 13 /* データを読み込む */ 14 printf("ファイル名を入力してください:"); 15 fflush(0); /*バッファにためている分を出力*/ 16 scanf("%20s",&readfile); 17 readData(readfile, 200, x_n); 18 19 return 0; 20} 21 22void readData(char filename[], int N, double xt[]) 23{ 24 /* ファイルポインタの宣言。fi: 入力用 */ 25 FILE *fi; 26 27 /* 入力ファイルをオープン*/ 28 if ( (fi = fopen("filename", "r") ) == NULL) { 29 printf("入力ファイル %sをオープンできません.\n", filename); 30 /* 強制終了 */ 31 exit(1); 32 33 /* データをファイルから読み込み */ 34 for (int i=0; i<N ;i++){ 35 fscanf(fi, "%lf", &xt[i]); 36 printf("データ: %f\n", xt[i]); 37 } 38 39 /* 入力ファイルをクローズ */ 40 fclose(fi); 41 42 return; 43}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/29 02:58