从整数中删除前导 %

Remove leading % from integer

本文关键字:删除 整数      更新时间:2023-10-16

这里只是一个简单的问题:我有一个 char** argv[] 来保存我所有的参数......在其中一个参数中,我得到一个整数,后面有一个%

例如:

BG %2

我真的只想要整数....有没有简单的方法可以得到这个?

这是为了做作业,所以如果有人能推动我朝着正确的方向前进,我愿意做更多的挖掘。

谢谢

以下是使用 c++ 方法执行此操作的一种方法:

假设您有列表中的char*之一char** argv[]

std::string tempString(argv[the one with the %]);
int position = tempString.find_first_of('%');
int = atoi(tempString.substr(position, tempString.size()-position).c_str());

快速解释,第一行将char*转换为std::string,第二行获取%的位置,第三行获取数字的子字符串(假设它在char*末尾结束),将其转换回char*并通过atoi传递以获得int

希望这有帮助。

这是使用 atoi 执行此操作的一种方法:

for (int i = 0 ; i != argc ; i++) {
    if (argv[i][0] == '%') {
        int num = atoi(&argv[i][1]);
        printf("Got a number: %dn", num);
    }
}