gpt4 book ai didi

c++ - char **argv[] 尝试从命令行获取输入时出现段错误

转载 作者:行者123 更新时间:2023-11-30 01:22:27 26 4
gpt4 key购买 nike

我正在尝试做最基本的事情,但碰壁了。我正在尝试从命令行读取文件名以便稍后在我的程序中使用,但我什至无法从 argv[] 中提取名称。这是代码:

#include <iostream>
#include <string.h>

using namespace std;

int main(int argc, char **argv[]){
cout << "argc = " << argc << "\n\n";
cout << "Filename: " << argv[1] << "\n";
return 0;
}

当然,我正在对提供参数的输入进行测试,因为没有错误检查。这是我运行程序时得到的结果:

./a.out testfilename

*

argc = 2

Filename: 0x7fff56e41d30

现在我明白 argv[1] 是一个指向字符数组的指针,所以这个输出是有意义的。但是,如果我进行以下更改,

cout << "Filename: " << argv[1] << "\n";

cout << "Filename: " << *argv[1] << "\n";

在尝试取消引用 argv[1] 以提取实际字符串时,我遇到了段错误..

最佳答案

int main(int argc, char *argv[]){

int main(int argc, char **argv){

但不是

int main(int argc, char **argv[]){

关于c++ - char **argv[] 尝试从命令行获取输入时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16321254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com