當前位置:首頁 » 操作系統 » fgetslinux

fgetslinux

發布時間: 2022-06-06 12:25:55

Ⅰ 關於 linux FGETS

Hello, Software Weekly
好像沒問題,gcc調試過

Ⅱ linux下fgets和strlen函數的問題

fgets的buf含「\n」和「\0」
如果你掃的是字元串數組也就是沒有\0 可能就是11,最好看下你的定義,當時你是定義
char *name; 還是char *name[size]; 並且是怎麼讀取的,能看一下你的代碼嗎

Ⅲ linux fgets :

首先這個問題是段錯誤(core mped),你得知道為什麼會出現斷錯誤,一般情況都是因為越界問題,為什麼會有越界呢,你對內核所佔的內存執行了非法的寫操作,你會問我哪裡有啊?
struct servent *s這里 我覺得你就產生所謂的野指針,野指針就是不知道指向了內存的什麼地方的指針,我想s這個指針就是指向了非法內存部分,而你s=getservbyname(name,pro);這里又有了操作,我想應該是這里產生的段錯誤,其實要驗證你這個錯誤的地方出來哪裡,你可以gdb,然後run這樣就可以知道錯誤處在哪裡,
還有一個問題就是你說的gets這個「過時」了,不是你說的那樣,gets只不過是有危險,會產生越界,而fgets呢 則不會,他會自動在你最後給你補上\0, gets則不會,他會一直寫,有的時候會寫到非法內存,這個時候就會出現段錯誤了

希望對你有幫助,給最佳答案吧

Ⅳ Linux C語言怎麼讀取文件指定行內容

1、用fgets函數可以讀取文件中某行的數據,某列數據就必須一個一個讀入每行的第幾個字元,再存入到一個字元串當中。

2、常式:

#include<stdio.h>
#include<string.h>
voidmain()
{
chara[100],b[100],c[100];
inti=3,j=4,k=0;//第三行,第四列
FILE*fp=fopen("data.txt","r");
while(fgets(c,100,fp)){//讀入每行數據
i--;
if(i==0)strcpy(a,c);//讀到第三行數據
b[k++]=c[j-1];//把每行的那列字元拷到b中
}
b[k]=0;
printf("第%d行數據:%s ",i,a);
printf("第%d列數據:%s ",j,b);
fclose(fp);
}

Ⅳ 關於linux select函數fgets函數

通過返回值, 0表示超時, 大於零表示可讀。
http://www.cnblogs.com/moonvan/archive/2012/05/26/2518881.html

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:335
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:740
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371