从整数中删除前导%

时间:2012-11-15 05:02:43

标签: c++

这里只是一个简单的问题:我有一个char ** argv [],它包含我的所有参数......在其中一个参数中,我得到一个以%

开头的整数

例如:

bg%2

我真的只想要整数....是否有一种简单的方法可以得到它?

这是作业,所以如果有人能朝正确的方向刺激我,我愿意多做一些挖掘。

由于

2 个答案:

答案 0 :(得分: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

希望这有帮助。

答案 1 :(得分:0)

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

for (int i = 0 ; i != argc ; i++) {
    if (argv[i][0] == '%') {
        int num = atoi(&argv[i][1]);
        printf("Got a number: %d\n", num);
    }
}
相关问题