C中的^符号是什么?

时间:2014-12-05 20:18:07

标签: c io text-parsing

我正在尝试将一组double值写入文件。我将文件指定为“名称”.dat扩展名。我成功地写下了我想要的值,但是我写了一个我以前从未见过的符号,也没有在线找到的符号。

以下是我写的所有内容:

fprintf(filePath,"%lg,%lg,%lg\n",struct[i].x,struct[i].y,struct[i].z);

以下是通过文本编辑器查看文件中某些行的示例:

double,double,^Sdouble
double,double,^Sdouble
double,double,^Sdouble

依旧.....

在每行的第三组数据之前出现相同的 ^ S 符号。任何人都能解释这个符号的含义吗?我正在通过emacs查看此文件。它可能有助于解决我遇到的一些问题。

感谢您的考虑和帮助。

3 个答案:

答案 0 :(得分:1)

您正在使用显示控制字符的编辑器查看您的文件:

# echo -ne "\x13" | cat -e
^S

如何到达那里没有人能够在没有看到代码的情况下告诉你。

答案 1 :(得分:0)

我不知道您使用什么工具来查看文本文件,但我怀疑是Unix环境,所以可能是less命令。

less命令会将控制字符转换为^ S,使用^作为Control键的标记。因此,您可能会将Control-C视为^ C编写。

如果要确保文本文件中的字节确实是什么,可以使用odxxd程序将文件视为字节数。阅读每个人的手册页。

我怀疑这个字符是进入你的文件的,因为你使用的是未设置的变量,或者指向非法位置的字符串指针。

答案 2 :(得分:-1)

这是ctrl S代码

在某些* nix系统上,当你看到一个^字符时,它通常意味着ctrl + character