2015-07-20 6 views
0

Так вот маленький кусочек коды для написания некоторой информации в файлписать QList <int> в файл

void Receiver::fileWrite1(int dd, int mm, int yy, int h, int m, int s, QString commandID, QList<int> parameters) 
{ 
    QString v = "Date - "; 
    QString w = "Time - "; 
    QString port = "Port = "; 
    QString x = "Command = "; 
    QString y = "Parameters = "; 

    QFile file("E:/practica/data.txt"); 
    if(!file.open(QIODevice::Append)) { 
     std::cerr << "Cannot open file for writing: " 
        << qPrintable(file.errorString()) << std::endl; 

     return; 
    } 

    QTextStream out(&file); 
    out << v << dd << "/" << mm << "/" << yy << "\r\n"; 
    out << w << h << " : " << m << " : " << s << "\r\n"; 
    out << port << c << "\r\n"; 
    out << x << commandID << "\r\n"; 
    out << y << << parameters << "\r\n"; 
    out << "\r\n"; 
} 

Проблема заключается в том, что «параметры» являются динамическими и могут изменить это количество членов и QTextStream является incompactible с QList

+3

Таким образом, вы не могли бы использовать цикл для перебора каждого ИНТ в списке? – MrEricSir

ответ

1
  1. Вы можете добавить содержимое параметров по одному в требуемом формате итерируя QList<int>

  2. В зависимости от формата вы хотите содержимое параметра в apppear, попробовать некоторые вещи, как этот

    QTextStream out(&file); 
    out << v << dd << "/" << mm << "/" << yy << "\r\n"; 
    out << w << h << " : " << m << " : " << s << "\r\n"; 
    out << port << c << "\r\n"; 
    out << x << commandID << "\r\n"; 
    out << y; 
    //Iterate through your QList and write the contents 
    for(int i=0;i<parameters.length();i++){ 
    out<< QString::number(parameters.value(i)); 
    out << "Parameter Seperator here"; 
    } 
    
    out<< "\r\n"; 
    out << "\r\n"; 
    
Смежные вопросы