gpt4 book ai didi

c++ - strtol、strtoll、strtod真的是线程安全的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:15:10 25 4
gpt4 key购买 nike

我知道如何将字符串转换为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com