當前位置:首頁 » 操作系統 » 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

熱點內容
日記源碼 發布:2024-10-31 17:19:52 瀏覽:271
吃雞伺服器關服了是什麼意思 發布:2024-10-31 17:14:11 瀏覽:757
更改ip地址Linux 發布:2024-10-31 17:02:27 瀏覽:240
Java編譯器iOS 發布:2024-10-31 16:55:37 瀏覽:34
半條命怎麼玩需要什麼配置 發布:2024-10-31 16:54:29 瀏覽:502
私家車哪些配置可以上路 發布:2024-10-31 16:53:46 瀏覽:79
自動換ip腳本 發布:2024-10-31 16:41:11 瀏覽:654
建築設計筆記本需要哪個配置 發布:2024-10-31 16:32:33 瀏覽:77
eclipse怎麼快捷鍵編譯 發布:2024-10-31 16:31:47 瀏覽:677
c語言然後 發布:2024-10-31 16:28:03 瀏覽:263