c - 从程序中删除 '\n'

标签 c system newline

system(do_this); // which executes an external program to output a phrase on the screen
printf("=My taxes");

输出:

500$

=My taxes

预期输出:

500$=My taxes

我无法控制 do_this 中执行的代码,它会自动输出 '\n'

最佳答案

这应该有效:

system("program | tr -d '\012\015'");
printf("=My taxes\n");

program 是您要运行的程序。 tr 命令从程序 的输出中删除所有 CR 和 LF 字符(八进制代码 015 和 012)。该解决方案假定程序 仅输出一行(您的税),并且它适用于行尾为 CR、LF、CR+LF、LF+CR 的系统(包括所有广泛使用的操作系统,如 MacOS、Linux 和Windows)。

关于c - 从程序中删除 '\n',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8144221/

相关文章:

C程序制作链表的第二个副本

c - 如何将 float 数组传递给以 unsigned char 指针为参数的函数?

php - 我如何在 PHP 中获取系统统计信息

c# - 该代码是否有潜在危险?

javascript - Javascript正则表达式将新行添加到匹配项中

python - 为什么用回车\r打印不抑制换行符?

c# - 可以在文件列表上运行的 C/C++ 和 C# 语法检查器

c - C 中的 4,294,967,296 多吗?

android - 覆盖android系统设置的字体大小

Java - 我的代码中有一个额外的字符?