C:换行十六进制值

C:换行十六进制值,c,hex,newline,C,Hex,Newline,我有一些代码,可以从txt文件中读取行,然后添加到数据库中 如果直接在txt文件中键入数据,则足以识别换行符:If(ch=='\n') 但是,如果剪切并粘贴Microsoft Word,则检查\n无效 如果我逐个转储十六进制值/字符,实际数据如下所示: 2e . [ Last char of line ] d 58 X [ First char on next line ] 句号是一行中的最后一个字符。“X”是下一行的第一个字符。十六进制“d”导致换行 发生了什么事?我如何测试

我有一些代码,可以从txt文件中读取行,然后添加到数据库中

如果直接在txt文件中键入数据,则足以识别换行符:
If(ch=='\n')

但是,如果剪切并粘贴Microsoft Word,则检查
\n
无效

如果我逐个转储十六进制值/字符,实际数据如下所示:

2e .    [ Last char of line ]
 d 
58 X    [ First char on next line ]
句号是一行中的最后一个字符。“X”是下一行的第一个字符。十六进制“d”导致换行


发生了什么事?我如何测试我的
ch
变量与
>dC中的十六进制文本的前缀是
0x
0x
,因此在您的例子中,可以使用
0xd
0xd
0xd

Windows使用一对字符来结束一行:回车符(0x0d)后跟换行符(0x0a)


您可以在C中分别以
'\r'
'\n'
的形式编写它们。

您可以先在“十六进制编辑器”中分析数据,然后获得对应于特定字符的十六进制值,还可以使用附加了0x的值测试变量

可能word文件使用\r\n作为换行符,而您将文件粘贴到其中的编辑器不知何故损坏了该文件。您使用什么编辑器创建txt文件?@Carlo我在Mac上使用TextEdit。