【发布时间】:2010-08-29 13:17:30
【问题描述】:
我正在编写一个 rar 密码破解程序。我正在从文件中读取密码并将其传递给 sprintf 函数。这是代码。
FILE* fp = fopen("password.txt","r");
while ( fgets ( pword, sizeof(pword), fp ) != NULL )
{
sprintf(command, "rar e -p%s realp.rar", pword);
printf(command);
//system(command);
}
这段代码看起来不错,但它不起作用。因此我评论了系统功能并打印了变量“命令”。输出是这样的:
rar e -pfirstpassword
realp.rarrar e -psecondpassword
realp.rarrar e -pthirdpassword
realp.rarrar e -pfourthpassword realp.rar
我可以看到它坏了。输出应该是这样的。
rar e -pfirstpassword realp.rar
rar e -psecondpassword realp.rar
rar e -pthirdpassword realp.rar
rar e -pfourthpassword realp.rar
谁能帮我解决这个问题?提前致谢。
- 操作系统:Windows 7
- 编译器:开发 c++
【问题讨论】:
-
Not working 不是一个非常精确的问题描述。
-
我格式化了输出。很抱歉给您带来不便。
-
这仍然没有回答我的问题。使用
system命令时什么不起作用?您是否收到错误消息,您的程序/计算机是否崩溃,苹果是否开始从天上掉下来,...? -
文件内容是什么?
-
我想,我没有正确解释问题。此代码应该提取 rar 文件,但它没有提取。相反,它打开了 rar 命令的所有选项。