C:换行十六进制值

Nic*_*ick 4 c hex newline

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

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

但是,如果您剪切并粘贴Microsoft Word,则检查\n不起作用.

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

2e .    [ Last char of line ]
 d 
58 X    [ First char on next line ]
Run Code Online (Sandbox Code Playgroud)

句号是一行中的最后一个字符.'X'是下一行的第一个字符.十六进制'd'导致换行符.

到底是怎么回事?我如何测试我的ch变量> d<,因为它是十六进制中的空格?

谢谢.

unw*_*ind 12

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

您可以分别用C '\r'和as编写它们'\n'.