簡體   English   中英

如何在C ++中刪除換行符

[英]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()系統調用來更改stdoutstderr (即文件描述符1和2)。 要放棄輸出,您可以打開/dev/null並復制到該目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM