여러 줄 qstring을 한 줄 qstring로 변환하십시오
문제
나는 이와 같습니다 :
void ReadFileAndConvert ()
{
QFile File (Directory + "/here/we/go");
if(File.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream Stream (&File);
QString Text;
do
{
Text = Stream.readLine();
Text = Text.simplified();
// Here I want to convert the multiline QString Text into a oneline QString
// ...
}
.
QSTRING 텍스트는 온라인 텍스트 / QSTRING으로 변환 해야하는 여러 줄 텍스트로 구성됩니다.어떻게 이것을 달성 할 수 있습니까?인사말
해결책
텍스트를 QStringList
에 넣고 QStringList::join()
, e.g. 를 사용하십시오.
QStringList doc;
[...]
Text = Stream.readLine();
Text = Text.simplified();
doc << Text;
[...]
QString final = doc.join(" ");
. 다른 팁
readAll
의 QTextStream
의 기능을 순서대로 사용할 수 있습니다.모든 텍스트가 포함 된 문자열을 가져 와서 replace
새 줄을 제거하기 위해 QString
의 기능 :
QString oneLineText = Stream.readAll().replace("\n"," ").simplified();
.
큰 파일이있는 경우 readLine
기능을 사용하는 것이 좋습니다.
제휴하지 않습니다 StackOverflow