腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何
防止
fgets
在
缓冲区
溢出
时
多次
运行
?
c
我有一个问题,如果用户输入的字符数超过最大字符数,比如"abcdefg“,当最大字符数为5
时
,循环中的
fgets
()会
运行
两次,而不是"abcd”,而是打印"abcd“然后是"efg”。我认为这是因为
fgets
()只处理最多4个字符和一个空终止符,但在标准输入
缓冲区
中仍然存在"efg“。 我想知道是否有一种方法可以只抓取"abcd“,并丢弃超过所分配
缓冲区
最大大小的剩余输入。int argc, char* argv[]){
浏览 20
提问于2019-03-21
得票数 2
回答已采纳
2
回答
在
C中对字符串输入使用“get”
c
、
fgets
、
gets
我一直
在
尝试使用
fgets
从用户那里获取字符串输入,但是fget并不等待输入,因此
在
投资过程中,我了解到了gets函数,它似乎工作得很好。我的问题是: 1.如果我声明一个只包含10个元素的数组,那么当我输入10个以上的字符
时
,为什么gets会工作?enter your name: "); printf("\n");我测试
时
的输入我的
浏览 2
提问于2014-01-13
得票数 1
回答已采纳
4
回答
用于查找字符串长度的程序
c
、
c-strings
如果我输入的字符串长度大于10,那么为什么不会生成编译
时
错误,因为我已经声明了长度为10的str?例如,我输入了welcome to the world,然后它就可以毫无错误地编译和
运行
了。
浏览 0
提问于2017-02-05
得票数 0
2
回答
如何
实现某种机制来
防止
缓冲区
溢出
c
、
file-io
我目前正在开发一个基于C语言的日志解析器(为最初的基于bash的日志解析器做一个C版本),我想知道我应该
如何
防止
在有糟糕的输入的情况下
缓冲区
溢出
,几乎只是一种当程序耗尽内存
时
自动停止程序的方法,我也提供了下面的代码fscanf(fd, "%[^\n]\n", buff); printf("%s\n", buff); else} 下面的代码尝试实现
fgets
浏览 4
提问于2012-05-10
得票数 3
回答已采纳
2
回答
如何
使用
fgets
防止
缓冲区
溢出
?
c
、
overflow
到目前为止,我一直
在
使用if statements检查用户输入的字符串的大小。但是,它们看起来并不是很有用:无论输入的大小
如何
,while loop都会结束,它会将输入返回给main函数,然后由main函数输出。我不希望用户输入大于10的任何内容,但当他们输入时,额外的字符就会
溢出
并在换行符上输出。这些if statements的全部意义在于阻止这种情况的发生,但我一直没有太多的运气。char *readLine(char *buf, size_t sz) {
浏览 136
提问于2019-12-09
得票数 0
3
回答
缓冲区
溢出
;避免
溢出
攻击
c
、
buffer
、
buffer-overflow
我正在研究这个类的代码示例,并且我是
缓冲区
溢出
的新手。
如何
修改此示例以避免
缓冲区
溢出
攻击?另外,如果有人知道有一篇关于
缓冲区
溢出
的好文章,请把它贴出来。谢谢!
浏览 0
提问于2014-04-13
得票数 0
1
回答
如何
在接收用户输入时消除
缓冲区
溢出
?
c
、
function
、
fgets
如何
在接收用户输入时消除
缓冲区
溢出
?通过使用、fget、还是scanf?如果fget,那么它
如何
防止
。作为初学者所需要的一些解释。For transactions\n",three); //
fgets
(choice, sizeof choice, stdin); // This OR //
fgets</
浏览 3
提问于2020-05-21
得票数 0
回答已采纳
1
回答
gets_s Error C2660“函数不带一个参数”--非常混乱
c
、
visual-studio
基本上,我试图读取一个.txt文件,但是,当我要求用户用get_s函数输入文件名
时
,我就得到了错误C2660 -- "error C2660:‘get _s’:function不带1个参数“。
浏览 4
提问于2016-12-06
得票数 1
回答已采纳
2
回答
如何
在c#编程中将出生日期格式作为字符串输入
c
、
input
、
c-strings
、
string-parsing
以日期格式作为输入.like的最佳方式是什么?dd/mm/yyyy我不喜欢使用扫描器(“%d/%d/%d.”);
浏览 2
提问于2017-01-26
得票数 0
回答已采纳
2
回答
无法转换为C中的指针类型套接字编程
c
、
linux
、
sockets
、
pointers
我是C语言中的套接字初学者,尝试开发我的第一个应用程序--这是客户端代码的一部分,它给了我一个错误 int sockfd = 0; sockfd = Socket(AF_INET,SOCK_DGRAM,0); int n; printf("
浏览 6
提问于2013-12-28
得票数 1
回答已采纳
3
回答
当写入一个本地数组的字符出现在另一个本地数组中
时
,这是否是基于堆栈的
缓冲区
溢出
的一个示例?
c
、
security
、
buffer-overflow
为了更好地理解该漏洞,我试图使用下面的代码触发
缓冲区
溢出
。我有某些字段,有些字段指定了一个宽度以
防止
溢出
,但我
在
一种情况下(firstName)忽略了这一点,以使
溢出
成为可能:scanf("%30s", surName);scanf("%15s&qu
浏览 2
提问于2013-09-19
得票数 3
回答已采纳
2
回答
如何
在我的C程序中
多次
使用“get”函数?
c
、
memory
、
runtime-error
、
runtime
、
gets
我的代码:#include <math.h>{ scanf("%d",&t); { puts("enter"); puts("enter"); puts("enter"); puts(a)
浏览 2
提问于2020-04-17
得票数 0
回答已采纳
3
回答
c、gets()、
fgets
()
c
char s1[100];gets(s1);printf("%d,%d\n",strlen(s1),strlen(s2)); 在
运行
之后,我输入了两次"abcd“,得到的结果是:4,5为什么?
浏览 5
提问于2011-01-27
得票数 2
回答已采纳
1
回答
fgets
考虑空字符
c
、
string
、
stdin
、
fgets
、
null-character
char str[10];但是当我使用时,我不知道该
如何
指定n。那么,
如何
防止
缓冲区
溢出
呢?如下所示:
fgets
(str, 10, stdin);char str[10];
fgets
(str, 9, stdin);
浏览 7
提问于2021-03-25
得票数 1
回答已采纳
2
回答
使用系统调用在c中实现grep
c
、
grep
、
system-calls
#include<stdio.h>#include<stdlib.h>#include <sys/stat.h>#include<string.h>{ char temp,line[100]; if((fd=op
浏览 2
提问于2013-02-05
得票数 0
回答已采纳
4
回答
在
c中输入有限的情况下,我应该使用fget还是scanf?
c
、
input
、
scanf
、
fgets
我应该使用
fgets
还是像scanf("%10s", foo)那样格式化的scanf。除了scanf不读取空白字符,这是可以解决和使用扫描集做更多的事情,那么为什么我应该使用
fgets
而不是scanf我还要问的另一件事是:即使我们使用
fgets
,如果用户输入的字符多于边界(我指的是很多字符),会导致
缓冲区
溢出
吗?那怎么处理呢?
浏览 4
提问于2021-11-23
得票数 2
回答已采纳
2
回答
在
Unix下不能在C中工作
c
我试着用gets函数
在
Unix下用C语言输入一个字符串,但不起作用!如果我
运行
这个程序,我得不到输入域。scanf("%s",newfile); printf("\nEnter Contents for %s : ",newfile); //
fgets
浏览 4
提问于2013-04-23
得票数 0
6
回答
为什么get()比scanf()更危险?
c
在我看来,这两者都有可能
溢出
缓冲区
。不过,有人建议我永远不要使用Yet (),但仍然鼓励我使用scanf()。
浏览 1
提问于2013-03-14
得票数 6
回答已采纳
1
回答
第二次进入字符串的scanf()
c
、
scanf
第二次进入字符串的scanf()有什么问题,第二次不能输入我的字符串。我不确定所发生的错误,我不能很好地得到这个程序函数#include <stdlib.h> { char staff_name1[31]; float sales1, sales2; printf("Enter staff name\t> "); scan
浏览 1
提问于2015-06-04
得票数 0
回答已采纳
2
回答
使用比
在
malloc中分配的内存更多的内存--我可以返回某物、结束程序而不是让它崩溃吗?
c
、
malloc
、
stdin
我的程序
在
malloc(x*sizeof(char))
时
崩溃,x <
fgets
的限制,尽管buffer == NULL检查。
在
我的例子中,当x是1
时
,fget可以接受的限制是100,用户类型例如。我不太明白环境
如何
将内存限制更改为0和130,以及确切更改了什么,但即使我注意到我
在
CodeBlocks,windows 10中的程序在这里描述的情况下崩溃(x < stdin输入),尽管我检查了buffer我希望buffer == NULL检查能在某种程度上起
浏览 0
提问于2018-08-26
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何解决?
每日一道c语言编程题,第二十一题,连接字符串
缓冲区溢出攻击的分析(下)
C 标准库基础 IO 操作总结
探讨程序编程中栈空间的本质以及缓冲区溢出的问题
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券