[英]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.