当前位置:首页 » 操作系统 » 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

热点内容
yeah邮箱的服务器地址 发布:2025-09-16 23:36:52 浏览:701
c的引用java 发布:2025-09-16 23:36:48 浏览:307
的n次方编程 发布:2025-09-16 23:25:34 浏览:285
python安卓版 发布:2025-09-16 23:01:04 浏览:823
码小易编程 发布:2025-09-16 23:00:56 浏览:335
在线音乐源码 发布:2025-09-16 22:57:39 浏览:685
api开发php 发布:2025-09-16 22:06:15 浏览:602
mysql自动备份linux 发布:2025-09-16 21:58:33 浏览:949
怎么用自己的服务器ip做域名 发布:2025-09-16 21:49:57 浏览:921
vc为什么能编译不能用 发布:2025-09-16 21:48:03 浏览:748