gpt4 book ai didi

c++ - 如何在 C++ 中删除换行符

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:42 25 4
gpt4 key购买 nike

我需要从 main 调用一个函数。该函数的副作用是打印一个新的行字符。有什么方法可以删除那个字符吗?

程序如下:

#include "header_file.h"
#include <stdio.h>

int main() {
for (int i=0; i<1e5; i++) {
int A = HEADER_SPACE::func_linebreak();
printf("\b");
}
printf("1234");
return 0;
}

不知道是不是cout << endl;printf("\n");func_linebreak()功能。不知道有没有fflush(stdout);里面。

可以肯定的是,我总是运行带有输出重定向的二进制/exe 文件:./my_main.out >> outFile.txt在 Linux 系统中。

This帖子在这里不起作用。


事实证明,最方便删除换行符的方法是从一开始就禁用打印。幸运的是,在我当前的应用程序中,我能够做到这一点。

我的问题已经解决了,但是我不会删除这个帖子,因为可能会出现源代码不可用的情况,而有些人可能仍然想达到同样的目的。

最佳答案

在 Linux 上,您可以 use the dup2() system call更改 stdoutstderr(即文件描述符 1 和 2)。要丢弃输出,您只需打开 /dev/null 并复制到它即可。

关于c++ - 如何在 C++ 中删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49186076/

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