###前提・実現したいこと
c言語でテキストファイルを読み込み、行としてではなく、各要素として出力しようとしています。以下がコード作成のために参考にしているサイトです。
参考サイト
実現したいこと
%./trial trial2.txt 2018/01/15,Jan,3,100 2018/01/16,,4,400
###エラー
各要素にNULLがないtrial.txtの場合はコードが実行されて、実現したい解が求められるのですが、trial2.txtのようにデータにNULLが含まれているとエラーのように同じものが永遠に表示されます。
trial.txt
2018/01/15,Jan,3,100 2018/01/16,Jan,4,400
trial2.txt(NULLデータを含む)
2018/01/15,Jan,3,100 2018/01/16,,4,400
エラー
2018/01/15,Jan,3,100 2018/01/15,Jan,3,100 2018/01/15,Jan,3,100 ・ ・ ・
###該当のソースコード
C
1#include <stdio.h> 2#include <stdlib.h> 3 4int main(int argc, char *argv[]){ 5 FILE* fp; // file pointer 6 7 char *fname = argv[1]; 8 fp = fopen(fname, "r"); // open a file 9 10 char date[11], month[4]; 11 int num1, num2; 12 13 while(fscanf(fp, "%[^,],%[^,],%d,%d\n", date, month, &num1, &num2) != EOF) { 14 printf("%s,%s,%d,%d\n", date, month, num1, num2); 15 } 16 17 fclose(fp); 18 return 0; 19}
###実行環境
ターミナル バージョン2.8
MaxOS High Sierra
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/15 06:41