我要运行程序示例sample-code.cpp
。它采用类似-create
的字符串,2个文件名:一个作为输入input.txt
,一个作为输出文件名output.idx
作为参数和一个整数10
。
我应该可以使用以下命令从命令行(mac Terminal / UNIX)运行它:
$sample-code -create input.txt output.txt 10
这是main()
代码的片段:
int main(int argc, char* argv[])
{
// Creating New File
if (strcmp(argv[1],"-create") == 0)
{
KeyFieldMax = atoi(argv[2]);
InputFileName = argv[3];
IndexFileName = argv[4];
当我输入此命令$sample-code -create input.txt output.txt 10
时,我收到此错误:
-bash: sample-code: command not found
。
答案 0 :(得分:1)
bash: sample-code: command not found
告诉您样本代码不在bash的命令路径中。如果您在构建程序的目录中,请键入./sample-code
以运行它。
您的错误Segmentation fault: 11
是一个超出范围的数组。在调用它们在数组中的位置之前,您需要对参数进行完整性检查以验证它们实际存在:
if (argc < 4)
{
fprintf(stderr, "Urk! Not enough arguments!");
return 1;
}
else
{
KeyFieldMax = atoi(argv[2]);
InputFileName = argv[3];
IndexFileName = argv[4];
...