读书人

奇怪的有关问题,命令行参数传递出错

发布时间: 2012-02-07 17:45:36 作者: rapoo

奇怪的问题,命令行参数传递出错?
#include "stdafx.h "
#include <iostream>
#include <cstddef>
using std::cin;
using std::cout;

int main(int argc, char* argv[])
{
char const*key=(argc> 2)?argv[1]: " ";
//char const *key= "10 ";
size_t key_length=(argc> 2)?strlen(key):1;
//size_t key_length=2;
char ch;
for(size_t k=0; std::cin.get(ch); k=(k+1)%key_length){
std::cout.put(ch^key[k]);
}
getchar();
return 0;
}

如果我运行7.19.exe "10 "结果好似没收到参数,但我如果像上面注释直接赋值的话就可以达到我要的结果,对输入字符进行异或运算

[解决办法]
char const*key=(argc> =2)?argv[1]: " ";

argc> 2 -> argc> =2

读书人网 >C++

热点推荐