3

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

例如:

背景 %2

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

这是家庭作业,所以如果有人能在正确的方向上刺激我,我愿意做更多的挖掘。

谢谢

4

2 回答 2

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*a 转换为 a std::string,第二行获取 的位置%,第三行获取数字的子字符串(假设它在 的末尾结束char*),将其转换回 achar*并通过它通过atoi得到int.

希望这可以帮助。

于 2012-11-15T05:25:57.947 回答
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);
    }
}
于 2012-11-15T05:05:13.313 回答