亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

read()函數讀文本文件發現的問題,不知道該怎么解決,求助!

read()函數讀文本文件發現的問題,不知道該怎么解決,求助!

holdtom 2021-10-21 19:15:34
我在linux下 寫了一個read()函數讀一個只含一個字符i的word.txt文件 為什么會讀到2個字符???代碼如下:#include <unistd.h>#include <string.h>#include <fcntl.h>#include <stdio.h>int main(){int fd,i;char buf[10]={0};fd=open("./a.txt",O_RDONLY);i=read(fd,buf,10);printf("%d\n",i);printf("%d\n",buf[0]);printf("%d\n",buf[1]);close(fd);}word.txt 是在linux下 用vim 建的 只輸了一個i進去,然后退出保存的open 里面是 "./word.txt"忘記改過來了
查看完整描述

2 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

那是因為vim自動給你加上換行符了'\n',即0x0a,你可以用ls -l word.txt看一下,文件大小是不是兩個字符。

查看完整回答
反對 回復 2021-10-24
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

你的printf輸出什么?
1種可能是回車符號
第2種可能是vim的編碼導致你的‘i'是2個字節構成的...

查看完整回答
反對 回復 2021-10-24
  • 2 回答
  • 0 關注
  • 345 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號