[英]How to remove the new line char in C++
我需要從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);
在里面。
可以肯定的是,我總是在Linux系統中運行帶有輸出重定向的binary / exe文件: ./my_main.out >> outFile.txt
。
這篇文章在這里不起作用。
事實證明,刪除換行符最方便的方法是從一開始就禁用打印 。 幸運的是,在我當前的應用程序中,我能夠做到這一點。
我的問題已經解決,但是由於在某些情況下源代碼不可用,並且有些人可能仍想實現相同的目標,因此我不會刪除此帖子。
在Linux上,您可以使用dup2()
系統調用來更改stdout
和stderr
(即文件描述符1和2)。 要放棄輸出,您可以打開/dev/null
並復制到該目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.