如何摆脱C ++中的空行?
how to get rid of blank line in c++?
我正在尝试填写文本文档,但当我这样做时 - 我的第一行是空白的。
我正在阅读的文本文档如下所示:
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;
a 格式化 输入读取:您要求从文件中读取一个整数,因此只会读取可以构成有效整数的字符。
这意味着在该指令之后文件的剩余部分将是:
[endline]
first fr random 5[endline]
second 9[endline]
third shazam 2[endline]
其余代码读取原始字节,因此它也会读取第一个 [endline]
(并打印)。
正如评论中其他人所建议的那样,您不应该改用 variable length arrays as they are not part of any C++ standard (but part of the C one). Try to use the C++ standard library。
我正在尝试填写文本文档,但当我这样做时 - 我的第一行是空白的。 我正在阅读的文本文档如下所示:
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;
a 格式化 输入读取:您要求从文件中读取一个整数,因此只会读取可以构成有效整数的字符。
这意味着在该指令之后文件的剩余部分将是:
[endline]
first fr random 5[endline]
second 9[endline]
third shazam 2[endline]
其余代码读取原始字节,因此它也会读取第一个 [endline]
(并打印)。
正如评论中其他人所建议的那样,您不应该改用 variable length arrays as they are not part of any C++ standard (but part of the C one). Try to use the C++ standard library。