c++:如何将换行插入到 sprintf 连接中?

标签 c++ printf

我正在尝试使用 sprintf 同时发送两个命令。命令应使用 0x0A (LF) 分隔。我想我可以使用两个斜杠输入特殊字符,所以我写:

sprintf(tmpstr,"VSET1:%ld.%3.3d\\x0AVSET2:%ld.%3.3d",mv/1000, AbsVal((int)mv%1000), mv / 1000, AbsVal((int)mv % 1000));

似乎只识别第二个命令(VSET2)。

我做错了什么?

最佳答案

在格式字符串中使用\n。另外,请使用单个反斜杠而不是 \\

如果要将缓冲区写入文件,请以二进制模式打开该文件。

无论您使用\n还是\x0A,您都必须以二进制模式打开文件以避免不可移植的翻译。

参见Escape sequences .

关于c++:如何将换行插入到 sprintf 连接中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651430/

相关文章:

c++ - 交换指针

c - "\r"按字面打印回车符号

c - 如何在 C 中将整个函数输出打印到文件中

c++ - Arduino makefile无法编译

c++ - 如何将 boost::intrusive_ptr 与 boost::intrusive::list 一起使用?

c++ - MPI 中矩阵列的 scatterv 和 sendreceive

c - C语言打印文件大小和时间

c - C语言中%c和%s如何工作?

assembly - NASM printf 打印 64 位双段错误

c++ - 删除不同线程中的对象会导致崩溃?