gpt4 book ai didi

C++读取数字字符串并将特定位置字符捕获为int

转载 作者:行者123 更新时间:2023-11-28 05:47:04 24 4
gpt4 key购买 nike

我需要我的程序读取用户输入的一串数字,然后将每个数字分配给一个 int 变量:

94715 是用户输入的字符串

然后

a=9
b=4
c=7
d=1
e=5

我可以

if (a < b),  c*d+e, a-e, etc

我已经搜索了一些命令(getline、string.substr(ind,n)、getc、fgetc、atoi 等)我知道我已经接近了,但我找不到我正在寻找的确切示例.

我找到的最简单直接的方法是

stringstream convert(string1);
convert>>variable;

但它会转换整个字符串,如果有办法在其中添加一个 ind 位置的话

string1.substr(0,1)

这样就可以了...

最佳答案

就这么简单:

std::string num = "94715";
size_t i = 0;
assert( num.length() > 4 );
int a = num[i++] - '0';
int b = num[i++] - '0';
int c = num[i++] - '0';
int d = num[i++] - '0';
int e = num[i++] - '0';

注意:这在不使用 ACII 编码的系统上可能无法正常工作,但您不太可能遇到此类问题。

关于C++读取数字字符串并将特定位置字符捕获为int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36019743/

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