求教,linux read函式 出錯

2023-05-20 21:25:11 字數 2571 閱讀 2182

1樓:小罍神

type read 看看你的read是不是bash的內建命令,我懷疑你有重名的命令或者alias

2樓:匿名使用者

這是shell文字,書上提供的。

#!/bin/sh

echo "is it morning? please answer yes or no"

read timeofday

if [ timeofday = yes" ]thenecho "good morning"

elseecho "good afternoon"

fiexit 0

檔名為_if

然後我用。win@ubuntu:~$chmod +x _ifwin@ubuntu:~$if

執行結果為。

is it morning? please answer ye互矗忿端莜得馮全輔戶s or no

yes」: 無效的識別符號read: 「timeofday:找不到命令4:

_if: line 11: 語法錯誤:不可預料的檔案末尾。

為啥不成功呢,而且我每次用read函式是都是這樣子。

linux下c語言程式設計read()函式的問題

3樓:匿名使用者

返回-1的時候,要根據錯誤碼來判斷原因,請看下面的函式說明:

表標頭檔案 #include

定義函式 ssize_t read(int fd,void * buf ,size_t count);

函式說明 read()會把引數fd 所指的檔案傳送count個位元組到buf指標所指的記憶體中。若引數count為0,則read()不會有作用並返回0。返回值為實際讀取到的位元組數,如果返回0,表示已到達檔案尾或是無可讀取的資料,此外檔案讀寫位置會隨讀取到的位元組移動。

附加說明 如果順利read()會返回實際讀到的位元組數,最好能將返回值與引數count 作比較,若返回的位元組數比要求讀取的位元組數少,則有可能讀到了檔案尾、從管道(pipe)或終端機讀取,或者是read()被訊號中斷了讀取動作。當有錯誤發生時則返回-1,錯誤**存入errno中,而檔案讀寫位置則無法預期。

錯誤** eintr 此呼叫被訊號所中斷。 eagain 當使用不可阻斷i/o 時(o_nonblock),若無資料可讀取則返回此值。 ebadf 引數fd 非有效的檔案描述詞,或該檔案已關閉。

4樓:匿名使用者

原始碼貼出來。也好看看嘛,不然別人都沒辦法知道你什麼出錯了。

5樓:匿名使用者

man read, 看看文件怎麼說阿。

linux 下read()函式讀文字檔案問題

6樓:匿名使用者

那是因為vim自動給你加上換行符了'',即0x0a,你可以用ls -l 看一下,檔案大小是不是兩個字元。

7樓:彼得兔丶

doc檔案是office word檔案,估計在linux裡讀會有問題。好像裝了open office可以開啟它,可以試試。

8樓:網友

你的printf輸出什麼?

1種可能是回車符號。

第2種可能是vim的編碼導致你的『i'是2個位元組構成的。

arm6410,linux,c語言,read函式返回-1,錯誤:bad address

9樓:匿名使用者

1、可以事先檢查一下傳遞給 read() 函式的 fd 是否合法,即在 'if ((nread = read(fd,mybuff2,strlen(mybuff2)))0)' 之前判斷 if ( fd ==null ) printf("出錯啦!")

2、read()函式是檔案操作函式,在c語言中很重要。

函式的返回值如下:

1)如果成功,返回讀取的位元組數;

2)如果出錯,返回-1並設定errno;

3)如果在調read函式之前已是檔案末尾,則返回0

10樓:匿名使用者

上步連線出錯了,感覺該是沒連上,你就去讀寫了,描述符不對。

linux中read讀檔案及變數自加的問題,**如下

11樓:筆刀俠_廣州

我在我的ubuntu lts 上試用了:

count=1

cat test | while read linedoecho "line $count:$line"

count=$[count + 1 ]done

執行非常正常,把名為 test 檔案內容逐行顯示出來了,在沒行的前頭帶了「line 【行號】:」

12樓:我是幸福的懶豬

我在suse下執行沒有問題。

c語言的read函式返回-1是為什麼呢?檔案是存在的哦

13樓:瀚漠

返回-1是讀錯誤,你列印一下errno看下:

if((size=read(fd,buf,size))<0)

看一下錯誤資訊才能判斷問題。

支付保函和履約保函的區別,付款保函和履約保函區別

你說的這兩個保函是不一樣的,為便於理解,給你詳細解釋一下 履約保函是為了保證中標單位如約履行工程合同的內容。預付款保函是保證在甲方支付了預付款之後能收到合同約定的效果,也即在甲方支付了預付款之後如乙方沒有履行合同,銀行則將預付款保函的相應押金交還給甲方作為損失補償。也就是說這是兩個不同的保函,都是要...

花唄逾期發了告知函,花唄逾期發了告知函

這是真的嗎?是的話只要請及時還上即可,應該還需要繳納滯納金 本金。老哥,花唄是上徵信的,記得及時還款啊。要不對你徵信不好。才500多,趕快還了,我借唄,2萬多,今天也發律師函了。採納一下。付費內容限時免費檢視 回答你好 你好,請問我還有什麼能夠幫您的?花唄逾期的通知函需要簽收,並第一時間還清支付寶花...

人事檔案調檔函格式,人才中心調檔函取檔案流程

人事檔案調檔函格式,按照慣例請按單位名稱,地址,郵編調換位置排版。接 收 函 學校 貴校 學院 屆 專業畢業生 同學,現已接收到 部門 單位工作。特此證明 畢業生簽名 接收單位 蓋章 年 月 日 年 月 日。人才中心調檔函取檔案流程 法律分析 一 準備材料。一 單位提取 應持有單位開具的介紹信,及來...