きのうのプログラムをまた修正した
auです。
きのうのプログラムをいじっていたらいい感じに出力できたので記事にしてみました。
最初に思いついたのは、改行されてしまうなら"\n"を読み込まないようにfscanfのところを[^\n]にすればいいのではとやったらループし、"\r"としても同じくループしました。
次に、後ろに"0@"が残ってしまうならそれを読み込まないようにしようと[^0@]としたらいい感じに表記されました。
#include <stdio.h> #include <string.h> int main(void) { FILE *fp; char f_name[] = "student.txt"; char str1[32]; fp = fopen(f_name, "r"); if (fp == NULL) { printf("%sを開くことができませんでした\n", f_name); return -1; } while (fscanf(fp, "%[^0@]", str1) != EOF) { printf("%s\n", str1); } fclose(fp); return 0; } // 実行結果 id: 1 name: au id: 2 name: Sato
きのうよりは良い感じに表記しれてくれたので進歩はしたと感じました。