C中的^s符号是什么?

C中的^s符号是什么?,c,io,text-parsing,C,Io,Text Parsing,我试图将一组双值写入文件。我将文件指定为name.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 等

我试图将一组双值写入文件。我将文件指定为name.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查看此文件。它可能有助于解决我遇到的一些解析问题


感谢您的考虑和帮助。

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

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

它是如何到达那里的没有人能告诉你不看代码。

这是ctrl的代码


在某些*nix系统上,当您看到^character时,通常表示ctrl+character

我不知道您正在使用什么工具查看文本文件,但我怀疑是Unix环境,因此可能是less命令

less命令将使用^S作为控制键的标记,将控制字符转换为^S。例如,您可能会看到Control-C写为^C

如果您想确定文本文件中的字节是什么,您可以使用od或xxd程序以字节数的形式查看文件。阅读每一页上的手册页


我怀疑该字符正在进入您的文件,因为您正在使用未设置的变量或指向非法位置的字符串指针。

@BLUEPIXY我认为没有必要这样做。这是一个简单的问题,你以前见过这个符号吗?它是什么意思?。我不是在寻求代码帮助。但确实如此,因为您的代码毫无意义。@Bdubbx1回答者需要知道您的代码是如何写入文件的。或者至少,告诉他们您是如何看到文件内容的:您使用的是什么操作系统,您是否将文件键入控制台,是否使用编辑器打开文件,等等。?不过最好只显示代码。代码会显示在输出文件中,因为您正在编写它。从所示的小上下文中,不清楚是单个字符显示为^S,还是两个字符。不管怎样,不管是哪一个;如果您在输出中意外地发现它,那么您的程序一定是做错了什么。因此:显示代码的相关部分。我正在通过emacs查看该文件,为了清晰起见,我在后面添加了它。你的回答让我知道我需要寻找什么,谢谢。这是一个可以解析的字符吗?字符就是一个字符。它是否可以被解析取决于你用什么来解析它,你还没有告诉我们。