簡體   English   中英

使用read()從標准輸入讀取\\ n

[英]Reading \n from stdin with read()

我想從stdin讀取一個字符串,該字符串將包含多行,並用\\ n分隔,但是問題是,如果我嘗試從stdin遍歷所有字符的方式讀取字符串,如下所示:

char buff;
while(read(0, &buff, 1) > 0)
     foo(buff);

它正在讀取像“ hello \\ n”這樣的字符串,因為它具有chars hello-\\-n而不是換行符作為char結尾。 我該如何解決?

編譯器解釋'\\n'轉義序列。 在鍵盤上輸入它或從文件中讀取它不會產生換行符:實際上是從輸入中獲取兩個字符-首先是斜杠,然后是小寫的'n'字符。

如果輸入行尾字符,請按鍵盤上的Enter鍵,或將行尾字符添加到輸入文件中。

暫無
暫無

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

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