gpt4 book ai didi

c++ - 如何从 char 数组中提取数字字符串成员

转载 作者:搜寻专家 更新时间:2023-10-31 00:43:29 25 4
gpt4 key购买 nike

我想提取 char 数组的数字字符串值。实际上我想提取文件名中嵌入的数字以进行一些文件管理。例如,如果有一个名为 file21 的文件,那么我想要这个文件名中的十进制数 21

如何提取这些值?

我尝试了以下方法,但它产生了一个意外的值。我认为这是在进行算术运算时从 char 到 int 的隐式类型转换的结果。

char * fname;
cout<<"enter file name";
cin>>fname;

int filenum=fname[4]%10+fname[5];
cout<<"file number is"<<filenum;

注意:文件名严格按照fileXX格式,XX是01到99之间的数字

最佳答案

您需要减去'0' 以获得数字字符的十进制值:

int filenum=(fname[4]-'0')*10+(fname[5]-'0');

更好的是,你应该使用atoi:

int filenum = atoi(fname+4);

关于c++ - 如何从 char 数组中提取数字字符串成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485529/

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