下面是我整个计划的一部分:
void filewrite(fstream &f2)
{
f2.seekp(0,ios::beg);
f2.write(customerno,strlen(customerno));
f2.seekp(24,ios::beg);
f2.write(customername,strlen(customername));
f2.seekp(56,ios::beg);
f2.write(product,strlen(product));
f2<<endl;
}
这里f2是文件指针customerno,customername和product是字符串0,24和56是这些字符串从开始的相应位置
我面临的问题是,每次我试图写一个新记录时,它都是在写前一个记录,而不是去下一行。
我希望每个新记录都与第0、第24和第56个位置对齐。这个怎么做?先谢谢你了。
2条答案
按热度按时间68bkxrlz1#
如果你使用这种方法,你会给自己一个具有挑战性的问题。您希望使用
std::setw()
为您完成此操作。这里有一个简单得多的方法来做到这一点:
mkh04yzy2#
我不知道,如果我得到你的问题是正确的,但如果你想确保在当前行内搜索,你可以这样做:
如果你能确保filestream在下一行的开头,那么这只会按照预期的方式工作,当函数filewrite被调用时。
否则我将是一种复杂的找到正确的位置光标在流中。