这里只是一个简单的问题:我有一个char ** argv [],它包含我的所有参数......在其中一个参数中,我得到一个以%
开头的整数例如:
bg%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);
}
}