【发布时间】:2018-05-11 18:48:06
【问题描述】:
直截了当我的问题是:如何让文件指针指向下一行?以下是我整个程序的一部分:
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 位对齐。 我该怎么做? 提前致谢。
【问题讨论】:
-
是否有理由需要每个字符串位于特定位置?您可以只使用空格分隔的方法。
-
是的,这很重要!
-
你能把你调用这个函数的部分代码贴出来吗?另外,为什么间距很重要?
-
seekp 给出输出流中的位置。因此,每次调用此函数时都会覆盖相同的位置。
-
您没有写入终止 NUL,因此当您读回字符串时,您将无法确定字符串的长度。
标签: c++ filestructure