如何将单个char转换为int

如何将单个char转换为int

我有一串数字,例如“123456789”,我需要提取它们中的每一个以在计算中使用它们。我当然可以通过索引访问每个char,但是如何将其转换为int?

我查看了atoi(),但它需要一个字符串作为参数。因此,我必须将每个char转换为字符串,然后在其上调用atoi。有没有更好的办法?


慕妹3242003
浏览 439回答 3
3回答

幕布斯7119047

#define toDigit(c) (c-'0')

慕虎7371278

或者您可以使用“正确”方法,类似于您原来的atoi方法,但使用std :: stringstream。这应该与字符作为输入和字符串一起使用。(boost :: lexical_cast是更方便语法的另一种选择)(atoi是一个旧的C函数,通常建议在可能的情况下使用更灵活和类型安全的C ++等价物.std :: stringstream涵盖到字符串的转换)
打开App,查看更多内容
随时随地看视频慕课网APP