腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
如何
使用
fgets
防止
缓冲区
溢出
?
、
到目前为止,我一直在
使用
if statements检查用户输入的字符串的大小。但是,它们看起来并不是很有用:无论输入的大小
如何
,while loop都会结束,它会将输入返回给main函数,然后由main函数输出。我不希望用户输入大于10的任何内容,但当他们输入时,额外的字符就会
溢出
并在换行符上输出。这些if statements的全部意义在于阻止这种情况的发生,但我一直没有太多的运气。char *readLine(char *buf, size_t sz) {
浏览 136
提问于2019-12-09
得票数 0
2
回答
如何
实现某种机制来
防止
缓冲区
溢出
、
我目前正在开发一个基于C语言的日志解析器(为最初的基于bash的日志解析器做一个C版本),我想知道我应该
如何
防止
在有糟糕的输入的情况下
缓冲区
溢出
,几乎只是一种当程序耗尽内存时自动停止程序的方法,我也提供了下面的代码fscanf(fd, "%[^\n]\n", buff); printf("%s\n", buff); else} 下面的代码尝试实现
fgets
memset(bu
浏览 4
提问于2012-05-10
得票数 3
回答已采纳
1
回答
当我将输入作为字符串提供到小于字符串大小的数组中时,会发生什么情况?
、
、
#include<stdio.h> char w[3]; printf("%s\n",w);}
浏览 0
提问于2021-06-02
得票数 0
回答已采纳
1
回答
如何
在接收用户输入时消除
缓冲区
溢出
?
、
、
如何
在接收用户输入时消除
缓冲区
溢出
?通过
使用
、fget、还是scanf?如果fget,那么它
如何
防止
。作为初学者所需要的一些解释。For transactions\n",three); //
fgets
(choice, sizeof choice, stdin); // This OR // <e
浏览 3
提问于2020-05-21
得票数 0
回答已采纳
2
回答
在C中对字符串输入
使用
“get”
、
、
我一直在尝试
使用
fgets
从用户那里获取字符串输入,但是fget并不等待输入,因此在投资过程中,我了解到了gets函数,它似乎工作得很好。我的下一个问题是,当我
使用
gets(&name)而不是gets(name)时,我的代码也能工作--我不明白为什么。&name正在发送name的地址。 当name只是发送它的价值时,不是吗?
浏览 2
提问于2014-01-13
得票数 1
回答已采纳
1
回答
防止
缓冲区
溢出
、
我想通过使文件名长度不超过20个字符来
防止
缓冲区
溢出
。有没有更好的功能可以
使用
?就像
fgets
?
浏览 4
提问于2018-10-27
得票数 0
1
回答
fgets
考虑空字符
、
、
、
、
当
使用
扫描用户输入时,我会比字符串的大小少读一个字符,因为字符串的最后一个字符必须是 \0。char str[10];但是当我
使用
时,我不知道该
如何
指定n。那么,
如何
防止
缓冲区
溢出
呢?如下所示:
fgets
(str, 10, stdin);char str[10]; <e
浏览 7
提问于2021-03-25
得票数 1
回答已采纳
1
回答
gets_s Error C2660“函数不带一个参数”--非常混乱
、
因此,我已经尽可能深入地研究了这个问题,但是我一直无法确定一个解决方案(对编程非常陌生)。下面是我的代码示例:#include <string.h> { FILE *fileread1;
浏览 4
提问于2016-12-06
得票数 1
回答已采纳
2
回答
如何
在c#编程中将出生日期格式作为字符串输入
、
、
、
dd/mm/yyyy我不喜欢
使用
扫描器(“%d/%d/%d.”);
浏览 2
提问于2017-01-26
得票数 0
回答已采纳
2
回答
无法转换为C中的指针类型套接字编程
、
、
、
我是C语言中的套接字初学者,尝试开发我的第一个应用程序--这是客户端代码的一部分,它给了我一个错误 int sockfd = 0; sockfd = Socket(AF_INET,SOCK_DGRAM,0); int n; printf("
浏览 6
提问于2013-12-28
得票数 1
回答已采纳
3
回答
缓冲区
溢出
;避免
溢出
攻击
、
、
我正在研究这个类的代码示例,并且我是
缓冲区
溢出
的新手。
如何
修改此示例以避免
缓冲区
溢出
攻击?另外,如果有人知道有一篇关于
缓冲区
溢出
的好文章,请把它贴出来。谢谢!
浏览 0
提问于2014-04-13
得票数 0
2
回答
如何
检查stdin的输入是空的还是换行符?
、
、
我正在学习c,并编写了这段代码。#include <string.h>{ FILE *secret=fopen(argv[1],"w"); while(scanf("%99s\n",message)==1)
浏览 4
提问于2015-05-28
得票数 1
回答已采纳
2
回答
在Unix下不能在C中工作
scanf("%s",newfile); printf("\nEnter Contents for %s : ",newfile); //
fgets
浏览 4
提问于2013-04-23
得票数 0
4
回答
用于查找字符串长度的程序
、
如果我输入的字符串长度大于10,那么为什么不会生成编译时错误,因为我已经声明了长度为10的str?例如,我输入了welcome to the world,然后它就可以毫无错误地编译和运行了。#include <conio.h> int i = 0, length; printf("enter string: "); i
浏览 0
提问于2017-02-05
得票数 0
6
回答
如何
防止
scanf在C中引起
缓冲区
溢出
?
、
、
我
使用
以下代码:
防止
缓冲区
溢出
的最好方法是什么,这样它就可以传递随机长度的字符串?或者,不能
使用
scanf安全地完成此操作,而我应该
使用
fgets
吗?
浏览 3
提问于2009-10-26
得票数 91
1
回答
获取()导致内存损坏?
、
gets(strbuf1); } return 0;在将代码构建到可执行文件(比如foo.exe )中之后,我
使用
浏览 0
提问于2014-08-22
得票数 0
回答已采纳
1
回答
如何
防止
fgets
在
缓冲区
溢出
时多次运行?
我有一个问题,如果用户输入的字符数超过最大字符数,比如"abcdefg“,当最大字符数为5时,循环中的
fgets
()会运行两次,而不是"abcd”,而是打印"abcd“然后是"efg”。我认为这是因为
fgets
()只处理最多4个字符和一个空终止符,但在标准输入
缓冲区
中仍然存在"efg“。 我想知道是否有一种方法可以只抓取"abcd“,并丢弃超过所分配
缓冲区
最大大小的剩余输入。int argc, char* argv[]){ char input[INPUT
浏览 20
提问于2019-03-21
得票数 2
回答已采纳
3
回答
C:什么是缓冲器底流的例子?
、
我知道什么是
缓冲区
溢出
。然而,我不知道缓冲下垫是什么。
fgets
(buffer, sizeof(buffer), stdin);
fgets
(buffer_overflow, 16, stdin); 如果用户输入是,例如"deutschland“,上述情况将导致
缓冲区
溢出
。
浏览 4
提问于2014-10-08
得票数 21
回答已采纳
4
回答
C中是否有一个函数与Python中的raw_input函数相同?
、
、
在Python中是否有一个与raw_input相同的C函数?x = raw_input("Message Here:")更新::#include<stdio.h>#include "stdlib.h" string s;raw_input("Hello,
浏览 6
提问于2010-03-23
得票数 4
回答已采纳
3
回答
c、gets()、
fgets
()
char s1[100];gets(s1);printf("%d,%d\n",strlen(s1),strlen(
浏览 5
提问于2011-01-27
得票数 2
回答已采纳
点击加载更多
相关
资讯
如何解决?
每日一道c语言编程题,第二十一题,连接字符串
C 标准库基础 IO 操作总结
缓冲区溢出攻击的分析(下)
C语言缓冲区溢出漏洞剖析!
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券