我有一串数字,例如"123456789",我需要提取每一个数字,以便在计算中使用它们。当然,我可以通过索引访问每个字符,但如何将其转换为int?
我研究过atoi(),但它接受一个字符串作为参数。因此,我必须将每个字符转换为字符串,然后对其调用atoi。有没有更好的方法?
发布于 2010-12-08 22:50:53
#define toDigit(c) (c-'0')
发布于 2009-01-13 17:03:52
或者,您可以使用“正确的”方法,类似于原始的atoi方法,但使用std::stringstream。这应该可以使用字符作为输入,也可以使用字符串。(boost::lexical_cast是另一个更方便的语法选项)
(atoi是一个旧的C函数,通常建议在可能的情况下使用更灵活和类型安全的C++等效项。std::stringstream涵盖了字符串之间的转换)
发布于 2016-07-19 18:52:18
您可以使用atoi()函数
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[]){
int num ;
num = atoi(argv[1]);
printf("\n%d", num);
}
https://stackoverflow.com/questions/439573
复制相似问题