ファイルオープンの関数化
csvファイルの内容を行番号をつけて画面に表示するプログラムを作成しようとしています.その際,ファイル入力の処理を関数化したいのですが,main()関数で扱えるようにするには,関数の型をどうすれば良いのでしょうか.
一応作ったのですが,Segmentation faultが出てしまいます.
Segmentation faultが出てきてしまった時の対処法(まずどこを確認するか?など)も教えてください!
C
1 2#include<stdio.h> 3 4#define N 256 //1行の最大文字数 5 6FILE* ReadFile(char filename[]); 7int main(void) 8{ 9 int i; 10 FILE *fp; 11 char line[N]; 12 char filename[]="ecg2s.csv"; 13 char num; 14 fp=ReadFile(&filename); 15 16 i=0; 17 while(fgets(line, N, fp) != NULL){ 18 sscanf(line, "%s", &num); 19 printf("%04d:%s",i,num); 20 i++; 21 } 22 23 24} 25FILE* ReadFile(char filename[]) 26{ 27 FILE *fp; 28 29 fp=fopen(filename, "r"); 30 if(fp == NULL){ 31 printf("%s file not open\n",filename); 32 return NULL; 33 } 34 return fp; 35}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/20 08:13
2018/11/20 08:15