我正在尝试将 c 'strings' 转换为各种 c 数字类型:int、float、long int ...我拥有的 'strings' 不是以 '\0' 结尾的字符,但我有每个字符串的长度,所以我有将字符复制到缓冲区中,在末尾添加 '\0',然后使用 atoi 或 strtol ...
是否有一些库/函数已经实现了如下功能?
strToInt(char *str, int str_len)
strToFloat(char *str, int str_len)
Run Code Online (Sandbox Code Playgroud)
根据定义,C 字符串是以 null 结尾的字符缓冲区。否则这些就不是 C 字符串。
我想说的是,如果您有一个不是 C 字符串的缓冲区,那么最简单的方法是将其转换为字符串,并使用标准函数(atoi 等)。通常它甚至不需要分配更多内存,而只需要当前字符串的副本。