我使用的是C++ 98。这是我的代码。它从Qt4表单的lineEdit
中获取文本。
strcpy(Name,ui->lineEdit->setText(QString::fromStdString(Name)) );
strcpy(Class,ui->lineEdit_1->setText(QString::fromStdString(Class)));
strcpy(Grade,ui->lineEdit_2->setText(QString::fromStdString(Grade)));
std::ofstream myfile;
myfile.open(mypath,std::fstream::in | std::fstream::out );
myfile<<Name<<"\t"<<"Name"<<"\n";
myfile<<Class<<"\t"<<"Class"<<"\n";
myfile<<Grade<<"\t"<<"Grade"<<"\n";
下面是2列空间分隔的文本文件sample.conf
:
AA. Name
BB Class
CC Grade
它正在正确地更新文件
我的问题是,有没有办法在不使用分隔符的情况下写入上述文本文件,如在上述情况下是**\t**。
通过使用其他数据类型,如FILE或ofstream或其他不使用分隔符(\t)*的写入文件的?
可直接写入文件列
注意:我的目的不是限制文件将写入其分隔符(制表符、空格、.等)
1条答案
按热度按时间xn1cxnb41#
您不能直接写入列,但可以使用IO操纵器格式化输出:
但是请注意:
std::setw
不会截断任何数据。如果文本较长,则该行中的列将比指定的长。