我正在尝试将我的 c++ 数组从第二个索引切到最后一个索引

I'm trying to slice my c++ array from the second to the last index

本文关键字:索引 第二个 最后一个 数组 c++ 我的      更新时间:2023-10-16

>我正在尝试在C++中模拟echo命令。 我正在尝试从条目值中切出程序名称并推送 休息到命令行。但是我遇到了奇怪的错误。 这是我的代码:

#include <iostream>
using namespace std;
int main(int argc, char const *argv[]) {
if(argv[1] == "echo"){
cout << args[2:];
}
return 0;
}

但是我收到错误:

cmd.cpp: In function 'int main(int, const char**)':
cmd.cpp:6:13: error: 'args' was not declared in this scope
cout << args[:];
^~~~
cmd.cpp:6:13: note: suggested alternative: 'argc'
cout << args[:];
^~~~
argc
cmd.cpp:6:18: error: expected primary-expression before ':' token
cout << args[:];
^
cmd.cpp:6:18: error: expected ']' before ':' token
cout << args[:];
^
]

我试图把{1234545,"你好",",世界!"}变成"你好,世界!基本上我想做的是摆脱数组[0]并将列表的其余部分连接在一起。

编辑:感谢@chipster给出一个很好的答案!

小问题(我的意思是,我想这是一个大问题,因为它是导致编译器错误的一个,但是一旦你修复了它,你会很快被另一个错误撞到,所以......args不存在。你实际上想要argv


语法arr[i:j]Python 语法,而不是 C++。

若要在 C++ 中执行等效操作,请改为执行以下操作:

for(int i=2;i<argc;i++) {
std::cout << argv[i] << "n"; // "n" is just to make things look nicer.
// "n" could be any separator
}
相关文章: