В настоящее время я внедряю новое программное обеспечение. При анализе файла я собираю список номеров строк, которые были пропущены. После синтаксического анализа я хотел бы вывести все номера строк в виде строки, разделенной запятой.Как преобразовать список целых чисел в запятую?
Как конвертировать std::list<int>
в список std::string
в виде запятой?
Предположим, этот сегмент кода в рамках:
#include <list>
#include <string>
void parseFile()
{
std::list<int> skippedLines;
// ...parse file...
if (!skippedLines.empty()) {
const std::string skippedLinesAsString = ???
log << "Skipped lines: " << skippedLinesAsString;
}
}
Пожалуйста, обратите внимание, что мне нужно std::string
как результат. Показанный поток предназначен только для иллюстрации и не может использоваться для вывода.
Я реализовал его традиционным способом, используя петлю. Но я уверен, что есть простое алгоритмическое решение, использующее вставку или подобное.
@Yakk На самом деле я использую 'QList', который является библиотекой std, совместимой. –
Flovdis
http://stackoverflow.com/questions/1430757/c-vector-to-string http://stackoverflow.com/questions/5689003/how-to-implode-a-vector-of-strings-into-a- string-the-elegant-way http://stackoverflow.com/questions/5223066/converting-int-to-string-in-c http://stackoverflow.com/questions/2518979/how-to-transform-a- vectorint-in-a-string http://stackoverflow.com/questions/8581832/converting-a-vector-to-string – user4581301
Я бы придерживался цикла записи в строковый поток, потому что он легко читаем и обслуживаем. Вы также можете посмотреть на boost, в котором есть много хороших инструментов. –