fgets 返回的字串會連 n一起返回

2021-04-29 02:10:27 字數 665 閱讀 3691

遇到了奇怪的事情,**是這樣的:

char str[100];

fgets(str, sizeof(str)-1, fp);

str[sizeof(str)-1] = '/0';

gethostbyname(str);     //在這裡始終不能得到想要的結果

而直接用常量就可以:

其原因就是fgets()這個函式,不僅僅返回了檔案中一行的內容,連換行符/n也一併讀出來了。這是乙個陷阱,要注意。

(fgets保證以null結尾)

因此可以這樣處理:

char str[100];

fgets(str, sizeof(str)-1, fp);

str[sizeof(str)-1] = '/0';

int nlen = strlen(str);

if (str[nlen-1]=='/n')

還有,在除錯的輸出中,建議這樣列印字串: printf("[%s]/n", str); //在字串的兩端加上,如果有換行,空格,tab等不可見的內容,都可以從這裡發現,便於提早發現問題。

字串讀寫 fgets 函式的使用

fgets 函式的使用 fgets 既可以讀檔案,又可以讀標準輸入,而且可以防止溢位。但是它只能輸入字串 且能讀到回車符 n 故而用scanf語句的較多。scanf語句可以輸入各種格式的資料,其功能較為強大。fgets 的使用方法 char fgets char string,int n,file ...

PHP字串函式substr 返回字串的子串

在php中,字串函式 substr 用來返回字串的子串。函式語法 substr string string int start int length string函式引數說明 引數 描述string 必需。規定要返回其中一部分的字串。start 必需。規定在字串的何處開始。length 可選。規定要...

連字元字串與駝峰字串的相互轉換

連字元轉駝峰 第一種方法 使用正則匹配函式 let str str arr test str str.replace w w g,function 1,2,3 console.log str 列印 strarrtest第二種方法 使用 js 中 split 和 reduce 方法 let str s...