ファイルにデータを書き込みたい。C++ の iomanip 関数、setw を使用してそのデータをフォーマットして、テキスト フィールドの幅を設定します。ソースコードは以下のとおりです。
std::ofstream dataFile;
dataFile.open(m_fileAbsolutePath.toStdString().c_str(),std::fstream::out);
dataFile << "|";
SET_WIDTH(dataFile,DEV_NAME_FIELD);
dataFile << std::right <<TS_HEADER;
Linux のテキスト エディタ「gedit」では書式設定が適切に表示されます。しかし、このファイルを読み取って QT の QTextEdit に表示しようとすると、書式設定がめちゃくちゃになります。
「C++ の setw」関数を使用して設定された幅が正しく表示されません。なぜそうなのですか?QTextEdit の設定を行う必要がありますか?
TextEdit は次のように設定されます。
ui->textEdit->setLineWrapMode(QTextEdit::NoWrap);
ファイルを読み取るコード:
std::ifstream dataFile (m_filePath.toStdString().c_str(), std::ifstream::in);
if(dataFile.is_open()){
while (!dataFile.eof()) {
char line[1024] = {0};
dataFile.getline(line,1024);
int numberOfBytes = dataFile.gcount();
if(0 < numberOfBytes){
QString result(line);
Q_EMIT resultReady(result);
}
}
dataFile.close();
}
前もって感謝します。