- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道如何将字符串转换为 int、float...从来都不是一个新问题。在浏览了一些文章后,建议我使用 strtol、strtoll、strtod,因此我仔细研究了这些函数。
虽然strtol在其man page中声称是线程安全的,但是它会修改errno,那么它真的是线程安全的吗?
如果不是,在 C++(而非 C++11)中执行此类转换作业并保持线程安全的正确方法是什么?
最佳答案
来自errno
man page :
errno is defined by the ISO C standard to be a modifiable lvalue of type int, and must not be explicitly declared; errno may be a macro. errno is thread-local; setting it in one thread does not affect its value in any other thread.
设置errno
的函数只会为单个线程设置它,因此它是线程安全的。
关于c++ - strtol、strtoll、strtod真的是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22247478/
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我无法理解这段代码: static long long _be_decode_int(const char **data, long long *data_len) { char *endp;
我知道如何将字符串转换为 int、float...从来都不是一个新问题。在浏览了一些文章后,建议我使用 strtol、strtoll、strtod,因此我仔细研究了这些函数。 虽然strtol在其ma
我正在使用 strtoll 函数将字符串转换为长整型。当输入字符串为 63 个字符时,我没有遇到任何问题。 但是当它超过 63 个字符时,就会给出错误的结果。 char *pEnd1; long lo
我必须从一个包含一堆二进制数的文本文件中读取数据,然后将它们转换为整数并将它们存储在一个数组中。我已经创建了一个函数来执行此操作,但是该函数只返回一个数字。它似乎没有通过文件,或者它只是不起作用。谁能
我对 C 的一些内置函数有疑问。基本上,我试图创建的是我自己的 colpitts 振荡器计算器,它按顺序采用以下输入作为参数:电感值、电容器值、第二个电容器值。 输入可以以 F 或 H 结尾,也可以有
我在这里面临的主要问题是 strtoll() 在 VC 2010 中被标记为错误(error C3861: 'strtoll': identifier not found)。如果我用 strtol()
这是我的 C 代码: char *ptr = "0xfff1342809062Cac"; char *pEnd; long long value = strtoll(ptr,
这是我从谷歌的 gflags 源代码中读取的代码片段 case FV_INT32: { const int64 r = strto64(value, &end, base); if (errn
例如。我有一个十六进制字符串“1800272100A1”。我试着把它转换成十六进制号。 1800272100A1 使用 ssanf() 如下, sscanf(out1,"%lld",&r1);
我正在尝试将一些字符转换为数字类型,但其中一些可能不是以 null 结尾的字符串。那么 strtol、strtoll 和 strtod 对于那些不是以 null 结尾的字符串安全吗? 最佳答案 没有。
我是一名优秀的程序员,十分优秀!