当前位置:首页 » 操作系统 » 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-07-05 16:10:30 浏览:524
微博数据库设计 发布:2025-07-05 15:30:55 浏览:24
linux485 发布:2025-07-05 14:38:28 浏览:304
php用的软件 发布:2025-07-05 14:06:22 浏览:753
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:430
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:695
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:239
java的开发流程 发布:2025-07-05 12:45:11 浏览:684
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:282
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:833