小编Jam*_*ieH的帖子

为什么我不能使用strerror?

我正在将一些代码移植到Windows,而Microsoft编译器(Visual C++ 8)告诉我这strerror()是不安全的.

撇开微软所有安全字符串中的烦恼因素,我实际上可以看到一些已弃用的函数是危险的.但我无法理解可能出现的问题strerror().它需要一个code(int),并返回相应的字符串,如果该代码未知,则返回空字符串.

危险在哪里?

在C中有一个很好的选择吗?

C++中有一个很好的替代品吗?

[编辑]

得到了一些很好的答案,现在理解一些实现可能疯狂到实际写入一个共同的共享缓冲区 - 在单线程中不安全的重入,没关系线程之间! - 我的问题不再是"为什么我不能使用它,有什么替代方案?" "C和/或C++中是否有任何体面,简洁的替代品?"

提前致谢

c c++ deprecated

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

为什么我不能使用fopen?

在上一个问题的模型中,我询问了所谓的安全库折旧,我发现自己同样对于为什么fopen()应该被弃用感到困惑.

该函数接受两个C字符串,并返回FILE*ptr,或者在失败时返回NULL.线程安全问题/字符串溢出问题在哪里?或者是别的什么?

提前致谢

c c++ deprecated tr24731

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

C(或C++)的属性文件库

标题是不言自明的:有没有人知道C的(好的)属性文件阅读器库,如果没有,C++?

[编辑:具体来说,我想要一个处理Java中使用的.properties文件格式的库:http://en.wikipedia.org/wiki/.properties]

c c++ properties

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

使用相同的密钥签署多个程序集:明智/不明智?

可以对多个相关项目/程序集使用相同的强名称密钥.

我很想知道使用这种方法是否有任何缺点.特别是,它会导致缺乏安全性吗?

我正在考虑的一个方面是使用朋友组件.

.net security strongname assemblies friend

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

C有真正安全的格式化库吗?

考虑到关于C 的更安全的格式化库的问题的答案,我想知道是否有一个安全的 C格式化库?

我的意思是:

  • 格式字符串不可能与参数不匹配
  • 传递错误的类型不可能崩溃
  • 没有平台依赖的方面

请不要回答有关Microsoft安全字符串库或不太安全但仍然不完全安全的库,因为我知道这些,并且它们不满足总安全性的要求.

提前致谢

c formatting string-formatting

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