簡體   English   中英

如何從可能包含空字符的輸入流中讀取未知數量的字節?

[英]How to read an unknown number of bytes from an input stream that may contain null characters?

我在Linux中使用c從設備讀取未知數量的字節(原始數據, 可能包含NULL )時遇到一些麻煩。 我如何以“只要可以讀取”的方式讀取設備? (希望不會一次讀取1個字節)。

好吧,如果您使用的是讀取,那么如果沒有數據,則將阻塞,如果有數據要讀取,則將成功。 如果有要讀取的數據,您將得到所需的數量,或者如果沒有更多要讀取的數據,則得到的數量較少。 查看read的返回值以確定您擁有多少。 您可以使它成為非阻塞的,但是無論如何,檢查讀取返回值的方法都適用。

如果您更想知道將要處理的數據突發類型,則可以按想要處理的任意大小的塊,一次或更多的字符來對數據進行逐塊處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM