小编goe*_*goe的帖子

如何防止scanf导致C中的缓冲区溢出?

我用这个代码:

while ( scanf("%s", buf) == 1 ){
Run Code Online (Sandbox Code Playgroud)

什么是防止可能的缓冲区溢出的最佳方法,以便它可以传递随机长度的字符串?

我知道我可以通过调用例如限制输入字符串:

while ( scanf("%20s", buf) == 1 ){
Run Code Online (Sandbox Code Playgroud)

但我更愿意能够处理用户输入的任何内容.或者这不能使用scanf安全地完成,我应该使用fgets?

c scanf overflow

75
推荐指数
4
解决办法
9万
查看次数

如何格式化C中的数字从1123456789到1,123,456,789?

从可我怎么用C语言格式的数字11234567891,123,456,789?我试过使用,printf("%'10d\n", 1123456789);但这不起作用.

你能告诉我什么吗?解决方案越简单越好.

c formatting numbers

73
推荐指数
5
解决办法
8万
查看次数

在C中获得"功能冲突的类型",为什么?

我正在使用以下代码:

char dest[5];
char src[5] = "test";

printf("String: %s\n", do_something(dest, src));

char *do_something(char *dest, const char *src)
{
    return dest;
}
Run Code Online (Sandbox Code Playgroud)

这里的实施do_something并不重要.当我尝试编译上面的内容时,我得到以下两个异常:

错误:'do_something'的冲突类型(在printf调用时)
错误:'do_something'的先前隐式声明在这里(在原型行)

为什么?

c arrays

69
推荐指数
5
解决办法
22万
查看次数

IntelliJ IDEA在本地驱动器上的货架更改在哪里?

我想写一个小的备份脚本,它可以从我的本地驱动器中更改IntelliJ中的架子并将它们放在网络驱动器上.但我无法找到存储在本地驱动器上的路径.

有任何想法吗?

intellij-idea file-location

32
推荐指数
5
解决办法
1万
查看次数

如何检测我运行shell脚本的当前目录?

我如何检测运行shell脚本的目录名称(或者更好的是整个路径)?

shell

20
推荐指数
2
解决办法
4万
查看次数

如何在Perl正则表达式中允许文字点?

我使用此条件检查值是否为字母数字值:

$value =~ /^[a-zA-Z0-9]+$/
Run Code Online (Sandbox Code Playgroud)

如何修改此正则表达式以考虑.值中可能的点而不接受任何其他特殊字符?

regex perl

14
推荐指数
1
解决办法
3万
查看次数

如何在字符串中转义特殊字符,我插入到Perl正则表达式中?

我有可能持有等特殊字符的字符串:$,(,@,#,等我需要能够对字符串进行正则表达式.

现在,如果我的字符串具有任何这些字符,则正则表达式似乎会破坏,因为这些是正则表达式的保留字符.

有没有人知道一个好的子程序,可以很好地逃避任何这些字符给我,以便以后我可以做类似的事情:

 $p_id =~ /^$key/
Run Code Online (Sandbox Code Playgroud)

regex perl

13
推荐指数
2
解决办法
2万
查看次数

仅根据分号分隔文件中的一列列出重复行?

我有一堆文件.这些行中的每一行都有8个分号分隔的列.

我怎样(在Linux中)返回重复行但仅基于第2列?我应该使用grep还是其他什么?

linux

11
推荐指数
3
解决办法
3万
查看次数

C中的*d ++和(*d)++有什么区别?

在标题中,有什么区别,因为这两个似乎得到了相同的结果?

c pointers

8
推荐指数
2
解决办法
1060
查看次数

如何用C语言获得字符在字母表中的位置?

有没有一种快速的方法来检索C中英文字母中给定角色的位置?

就像是:

int position = get_position('g');
Run Code Online (Sandbox Code Playgroud)

c ascii char

8
推荐指数
1
解决办法
3万
查看次数