Я хочу объединить три строки в C++.Конкатенация строк в C++ (Linux)
У меня есть вектор std::vector<std::string> my_list
, где хранятся имена файлов. Я хочу, чтобы добавить расширение каталога и имени файла для каждого из имен файлов, чтобы прочитать двоичную информацию из файла, так что я это сделать так:
for (int i = 0; i < my_list.size(); i++) {
std::string tmp = prefix + my_list[i] + suffix;
std::ifstream file(tmp.c_str(), std::ifstream::binary);
}
где префикс IST станда :: строка префикс = "directory /" и suffix ist std :: string suffix = ".foo".
И он работает в Windows. Однако это не работает в Linux. Суффикс перезаписывает строку "tmp" -string. Это выглядит как foo/y_file_timestamp
вместо out/my_file_timestamp.foo
.
Что мне делать, чтобы предотвратить эту перезапись?
Блеф! Можем ли мы увидеть [mcve]? – YSC
код выглядит нормально. Ошибка должна быть где-то в другом месте. – bolov