私はCプログラムを書きました。(ページ下部の質問)実際のコードは提供できますが、この質問に答える必要はないと思います。
Used a while loop with fgets to get sizeof line
Assigned that fgets to line[255] in the fgets
Assigned the line to a char* (inside the loop)
Printf the char* (also inside the loop)
Cプログラムは期待どおりに出力します。
strace -o x.txt ./a.outを使用して、舞台裏で何が起こっているかを確認しました。
私はこれを見ます:(もちろん、私は理解していませんが、その上/下にもっと多くの文字化けがあります)
read(3, "text\nMore text\nEven more text"..., 4096) = 72
write(1, "text\n",5) = 5
... more of the write() = #
read(3, "", 4096) = 0
close(3)
質問:
私はそれを取得しますか、
write(1=stdout, "text to print", #of char)
それともこのバイト数ですか?わかりません
read(3, "", 4096) = 0
私は知っ0=stdin
ています1=stdout
、、、2=stderr
3が何を意味するのかわかりません-多分これはファイルですか?なぜ別の読み取りを行っているのかわかりませんが、バッファサイズは4096だと思いますか?私の最善の推測は、EOFのために= 0と言っているのでしょうか?