Open
Description
error version
方法1
std::vector<const char*> inner_argv{
(char*)"./consumer",
(char*)"-g",
(char*)"GWM_MULTIPLE_CAMERA",
(char*)"-m",
(char*)"0x1101 1111 0000 0",
(char*)"-N",
(char*)"/opt/nvidia/nvmedia/nit/",
(char*)"-c",
(char*)"img2d",
(char*)"-e",
(char*)"--late-attach",
(char*)"-i",
(char*)"1",
(char*)"-k",
(char*)"3",
(char*)"-f",
(char*)"-q",
(char*)"m"};
方法2
// nni_consumer.conf
./consumer
-g
GWM_MULTIPLE_CAMERA
-m
0x1101 1111 0000 0
-N
/opt/nvidia/nvmedia/nit/
-c
img2d
-e
--late-attach
-i
1
-k
3
-f
-q
m
std::string trim(const std::string& str) {
size_t start = str.find_first_not_of(" \t\n\r");
size_t end = str.find_last_not_of(" \t\n\r");
return (start == std::string::npos) ? "" : str.substr(start, end - start + 1);
}
std::ifstream ifs("nni_consumer.conf");
std::string line;
while (std::getline(ifs, line)) {
if (!line.empty()) {
std::string trimmed_line = trim(line);
if (!trimmed_line.empty()) {
inner_argv.push_back(trimmed_line.c_str());
printf("=%s|\n", trimmed_line.c_str());
}
}
}
error version
std::vector<const char*> inner_argv{};
std::vector<std::string> stable_strings;
std::ifstream ifs("nni_consumer.conf");
if (ifs.is_open()) {
} else {
printf("error, file not open\n");
}
std::string line;
while (std::getline(ifs, line)) {
if (!line.empty()) {
std::string trimmed_line = trim(line);
if (!trimmed_line.empty()) {
stable_strings.push_back(trimmed_line);
inner_argv.push_back(stable_strings.back().c_str());
printf("|%s|\n", inner_argv.back().c_str());
}
}
}
auto argc = int(inner_argv.size());
for (int idx=0; idx<argc; ++idx)
printf("|%s|\n", inner_argv[idx]);
Metadata
Metadata
Assignees
Labels
No labels