我正在尝试将我的 c++ 数组从第二个索引切到最后一个索引
I'm trying to slice my c++ array from the second to the last index
>我正在尝试在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
}
相关文章:
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 等待整个 omp 块完成,然后再调用第二个函数
- 我想在C++中读取一些多个字符,但它永远不会读取第二个字符
- 如何在创建自定义迭代器时获得 std::p air 的第一个和第二个?
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 将第二个 GATT 服务添加到 Movesense 容器
- 如何在 c++ 中根据第二个元素按降序对列表进行排序
- 对的排序向量 (std::vector<pair<int, int>>) 按对的第一个元素搜索并更新第二个元素值
- 比较 2 个向量并从第二个向量中删除在第一个 - c++ 中找不到的元素
- 为什么这个程序没有打印返回的迭代器的正确第二个元素?
- 使第二个类的构造函数成为第一个类中的友元函数
- 为什么第二个代码给出了预期的结果,而第一个代码却没有?
- 为什么 Boost multi_index只修改第一个索引的键时对第二个索引进行比较?
- 一个 2D 数组,并按行存储值.第一个循环用于行索引,第二个循环用于列索引
- 使用索引与迭代器将向量迭代到倒数第二个元素
- 我正在尝试将我的 c++ 数组从第二个索引切到最后一个索引
- 为什么我的代码没有对数组中第二个索引上的数据进行排序?
- C++ 2D 数组起作用 - 为什么第二个索引不能是可变的
- 使用c++中的第二个索引数组对数组进行排序
- 在访问Eigen::VectorXd时使用0作为第二个索引是否安全?