次のコードを書きましたが、 read が期待どおりに文字を保存しない理由がわかりません。
char temp;
char buf[256];
while(something)
read (in,&temp, 1);
buf[strlen(buf)] = temp;
}
temp
読んでいるときに配列の最後の場所を印刷すると、buf
一致しないことがあります。たとえば、文字が「d」であるが配列に含まれている%
か、文字が0
あり、配列に含まれている可能性があります.
256 文字未満しか読んでいませんが、読みながら印刷しているので問題ありません。
明らかな何かが欠けていますか?