パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Hello, Worldに潜むバグ」記事へのコメント

  • by Anonymous Coward

    ・C言語の高水準入出力 printf(3) とか fputs(3) で出力した内容はキャッシュされるので fclose(3) とか fflush(3) とかで吐き出して戻り値を確認しないと正常に出力されたことは保証されない。
    ・exit(3) なり main() からの return で暗黙にフラッシュした場合はエラーチェックできないので、失敗してもわからない。

    というのは基本仕様なので知っとく必要がある。
    /dev/full とかだけでなく、write(2)で発生するあらゆるエラーの可能性がある。

    • by Anonymous Coward

      それはCの話なのかUnixの話なのかオーエス全般の話なのか…
      ショリケイイゾンテクソダナ

      • by Anonymous Coward on 2022年03月25日 10時42分 (#4221196)

        Cの規格では(1)バッファされる(2)バッファされない(3)ラインバッファ(テキストのみ)の3種類が挙げられていて、そのどれかは処理系に依存する。
        エラー処理的には(1)を想定したほうがいいので、元コメントは完全に正しい。

        stderrはバッファされないと書いてあったかな。

        親コメント

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

処理中...