拆分后向 Qstring 添加新行

adding new line to Qstring after spliting

本文关键字:添加 新行 Qstring 拆分      更新时间:2023-10-16

我有以下Qstring

"diskinfo": "Node: ASHUTOSH-PC, Description: Local Fixed Disk, FreeSpace: 420842713088, Name: C:, Size  : 499875049472  Node: ASHUTOSH-PC, Description: CD-ROM Disc, FreeSpace: , Name: D:, Size  :   Node: ASHUTOSH-PC, Description: Local Fixed Disk, FreeSpace: 324858568704, Name: E:, Size  : 487687450624  Node: ASHUTOSH-PC, Description: CD-ROM Disc, FreeSpace: 0, Name: F:, Size  : 553459712",

我需要以下输出

{
  "diskinfo": "Node: ASHUTOSH-PC, Description: Local Fixed Disk, FreeSpace: 420842713088, Name: C:, Size  : 499875049472
              Node: ASHUTOSH-PC, Description: CD-ROM Disc, FreeSpace: , Name: D:, Size  : 
              Node: ASHUTOSH-PC, Description: Local Fixed Disk, FreeSpace: 324858568704, Name: E:, Size  : 487687450624 
              Node: ASHUTOSH-PC, Description: CD-ROM Disc, FreeSpace: 0, Name: F:, Size  : 553459712",
}

这怎么可能?

以下是我获取 Qstring 的代码

QString WctUtils::getDiskSpace( )
 {
     static QString diskSpaceCmd ( qgetenv("WINDIR")
                               + "\system32\wbem\wmic logicaldisk get name, freespace, size, description /format:csv");
    QProcess proc;
    QByteArray qba;
    QString out_str;

    proc.start(diskSpaceCmd);
    if(proc.waitForFinished(-1))
        {
         qba = proc.readAllStandardOutput();
         qba = qba.trimmed();
         qba =qba.replace('r',' ');
         QString myString =qba;
         QStringList myStringList = myString.split("n");
         QStringList descriptions = myStringList[0].split(",");
         for(int index = 1;index < myStringList.length();index++)
           {
              QStringList data = myStringList[index].split(",");
              QStringList out;
              for(int ind_2 = 0; ind_2 < data.length(); ind_2++)
              out.push_back(descriptions[ind_2] + ": " +data[ind_2]);
              out_str += out.join(", ");
           }

     }
      QString diskSpace(out_str);
      return (diskSpace);
 }

qt c++ 中,如何在新行中附加带有单词"node"的字符串凝视?

我会拆分单词"Node:",然后因为拆分会删除您要拆分的内容,因此在结果中,将"Node:"重新附加到每个字符串上。您可以通过以下方式做到这一点:

for (int index = 1; index < myStringList.length(); index++)
{
    myStringList[index] = "Node:" + myStringList[index];
}