【发布时间】:2011-12-22 15:31:58
【问题描述】:
谁能告诉我为什么这段代码不起作用?它确实编译。当我在命令行中输入decrypt 作为argv[1] 参数时,它仍然给我else 输出。即 argv[1] 不满足,即使它应该满足。这是一项正在进行的工作,因此请忽略其他代码
if ((argv[1] == "decrypt"))
{
printf("Decrypting...\n");
c = getc(fp1);
if (c != EOF)
{
fread(inputbuffer, sizeof(char), 50 , fp1);
printf("%s", inputbuffer);
/*while(inputbuffer[i]!=EOF)
{
fputc((inputbuffer[i] / 2) - 5, fp2);
}*/
}
}
else {printf("argv not working");}
【问题讨论】:
-
使用 strcmp 或 C++ 与 std::string
-
这与 argc/argv 无关,与 C 中字符串的处理方式有关。