^@ 和 ^A 作为 c++ 中的输出
^@ and ^A as output in c++
我正在尝试将代码的输出保存在文本文件中。因此,我声明并打开了文件,如下所示。
ofstream of;
of.open("outputPeakFinder.txt");
进行分析后,我尝试将输出保存在文件中,如下所示:
for (i = 0; i < NXtl * NSamples; i++){
printf("%d, Output: %d n", i, output[i]);
of << output[i] << 'n';
}
它在终端上打印正确的输出,应该是
0 0 0 0 0 0 0 1 0 0
但是在文本文件中我看到
^@ ^@ ^@ ^@ ^@ ^@ ^@ ^A ^@ ^@
这看起来很愚蠢,但我在哪里做错了。
您需要了解char
的数值与其表示的字符之间的区别。例如,字母'A'
的数值为 65,数字'0'
的数值为 48(请参阅 ASCII(。
ASCIINUL
字符的数值为零,作为int
将打印为0
但不对应于任何字母、数字或标点符号。某些文本编辑器将显示特殊序列^@
等字符,以将它们与有效字符(如'0'
或'@'
(区分开来。
问题(正如我从阅读您的评论中猜测的那样(是任何基于char
的类型(我猜uint8
是 的类型别名(实际上被格式化的输出(和输入(运算符视为字符。
如果要将其输出为整数,则需要使用其他整数类型,或转换为另一种整数类型(例如static_cast<unsigned>(output[i])
(。
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- AES加密到解密未正确输出
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- C++格式化输出问题
- 将值从二维数组输出到文本文件
- 集合上的输出迭代器:assign和increment迭代器
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 为什么rk4.do_step不输出C++中的初始条件
- 输出没有重复元素的动态数组(收缩数组)C++
- 如何根据单词在文本中出现的概率输出单词