C言語なら俺に聞け 138 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0100デフォルトの名無しさん (ワッチョイ 8ddc-l7I3)
2016/12/19(月) 12:50:31.86ID:T4wJ3ee00while (1) {
if (fgets(buf, sizeof(buf), stdin) == NULL) break;
if (strcmp(buf, ".") == 0) break; /* 終了時は . だけを入力 */
/* buf(入力された1行)を使って何か処理 */
}
こんな感じかな?
「とりあえず無限ループで回して終了判定はループ内で」という気持ち。
普通は fgets() を while のループ条件にすると思うけど、
この例では意図のとらえやすさを優先。
最初の入力行が西暦年ならトータル3行、年のない日付ならトータル2行、
みたいな処理が必要なら見当違いだけど。
■ このスレッドは過去ログ倉庫に格納されています