使用命令行参数创建结构体向量
Creating a vector of structs using command line arguments
我在理解创建这个结构体向量的过程中遇到了一些麻烦。我将文件作为参数传递到程序中,并使用它们的文件位置来创建包含此信息的结构体。是否有一种方法来创建结构体,并将其添加到使用结构函数的矢量?
struct fileDetails
{
string filePath;
string fileName;
string fileExt;
void setFileDetails(char** path);
};
void fileDetails::setFileDetails(char** path)
{
filePath = path.substr(0, path.find_last_of(''));
fileExt = path.substr(path.find_last_of(".") + 1);
fileName = path.substr(path.find_last_of('') + 1);
fileName = fileName.substr(0, fileName.find_last_of('.'));
}
int main(int argc, char** argv[])
{
vector<fileDetails> fileList;
fileDetails fDet;
for (int i = 0; i < argc; i++)
{
fDet.setFileDetails(argv[i]);
fileList.push_back(fDet);
}
}
或者更好的方法是什么?我尝试使用这种格式,但我得到错误。
您有两个主要错误。
首先,char**
没有任何substr
成员函数。你的意思可能是用std::string
代替:
void setFileDetails(std::string path);
// ^^^^^^^^^^^
第二,在argv
中有一个不必要的*
:
int main(int argc, char** argv[])
// ^
相关文章:
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- 如何使用结构体的向量数组?
- 如何使用迭代器指向结构体c++的向量
- 创建结构体向量,表达式:向量下标超出范围
- C++ push_back() 一个结构体到一个向量中
- 使用 boost::p ython,如何将结构体向量作为字典列表返回给 Python
- 交换结构体 c++ 向量的内容
- Vector::erase()也擦除结构体的成员向量
- 如何在结构体中传递指向CURL的指针到向量
- 对的向量和包含两个元素的结构体的向量的内存布局的区别- c++ /STL
- 列表排序和结构体向量排序之间的性能差距.c++
- 带有指针的结构体向量
- 结构体向量的问题:解约束迭代器(可能很容易)
- 试图使用指向结构体向量的指针访问结构体类型时出错
- 如何在结构体向量的ROS中发布消息?
- c++中初始化结构体向量的正确方法
- 使用命令行参数创建结构体向量
- c++结构体向量的适当方法
- 结构体向量与结构体向量的映射
- 从文本文件c++中加载结构体向量的奇怪问题