我正在使用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";
这里是两列空格分隔的文本文件sample.conf
:
AA. Name
BB Class
CC Grade
它正在正确更新文件
我的问题是,是否有任何方法可以在不使用分隔符的情况下写入上述文本文件,就像上面的情况是\t一样。
在FILE或流的或中使用其他数据类型,或者在写入文件时不使用分隔符(\t)?
可以直接写入文件列
注:我的目的不是限制文件写入到它的分隔符(制表符、空格等)
不能直接写入列,但可以使用IO操纵器格式化输出:
#include <iomanip>
...
std::cout << std::setw(20) << std::left << "Column 1"
<< std::setw(10) << std::left << "Column 2"
<< 'n';
但请注意:std::setw
不会截断任何数据。如果文本较长,则此行中的列将比指定的更长。