I'm in search for an easy and foolproof way to convert an arbitrary QStringList
to a single QString
and back.
QStringList fruits;
fruits << "Banana", "Apple", "Orange";
QString packedFruits = pack(fruits);
QStringList unpackFruits = unpack(packedFruits);
// Should be true
// fruits == unpackFruits;
What might be the easiest solution for this kind of problem?
From QStringList
to QString
- QStringList::join
:
Joins all the string list's strings into a single string with each element separated by the given separator (which can be an empty string).
QString pack(QStringList const& list)
{
return list.join(reserved_separator);
}
From QString
to QStringList
- QString::split
:
Splits the string into substrings wherever
sep
occurs, and returns the list of those strings. Ifsep
does not match anywhere in the string,split()
returns a single-element list containing this string.
QStringList unpack(QString const& string)
{
return string.split(reserved_separator);
}