gpt4 book ai didi

c++ - 如何摆脱C++中的空白行?

转载 作者:行者123 更新时间:2023-12-01 15:11:13 26 4
gpt4 key购买 nike

我正在尝试填充文本文档,但是当我这样做时-我得到第一行空白。
我正在阅读的文本文档如下所示:

3
first fr random 5
second 9
third shazam 2

我尝试删除第一个值,所以空白行消失了。因此它具有相关性,但我需要该值。
// My code
ifstream in("U2.txt");
ofstream out("U2.txt");
int n;
in>>n;
char vardaiStart[n][21];

in.read(vardaiStart[0], 21);

out << vardaiStart[0]<< endl;

输出看起来像这样:
*blank*
first fr random

但我想要的是:
first fr random

因此,从现在开始,在其他项目中我将不再使用旧的C,但是对于该项目,我将[endline]更改为红色,并按如下所示忽略它: in.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

最佳答案

您的输入文件如下所示:

3[endline]
first fr random 5[endline]
second 9[endline]
third shazam 2[endline]

请注意我添加的 [endline]:它们可以是 '\n', '\r\n',具体取决于生成文件的系统。

您的第一个指示是:
in >> n;

格式化输入读取:您要求从文件中读取一个整数,因此将只读取可以构成有效整数的字符。

这意味着在该指令之后,文件的其余部分将是:
[endline]
first fr random 5[endline]
second 9[endline]
third shazam 2[endline]

您的其余代码读取原始字节,因此它将也读取第一个 [endline](并打印它)。

如注释中的其他建议,您不应使用 variable length arrays,因为它们不是任何C++标准的一部分(而是C语言标准的一部分)。尝试改用C++ standard library

关于c++ - 如何摆脱C++中的空白行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54258431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com