C: newline valeurs hexadécimales
J'ai un bout de code qui lit les lignes d'un fichier txt, et ne puis ajoute à une base de données.
Si vous tapez des données directement dans le fichier txt, alors c'est suffisant pour reconnaître un retour à la ligne: if (ch == '\n')
Toutefois, si vous coupez & coller de Word de Microsoft, la vérification de la \n
ne fonctionne pas.
Si je dump sur les valeurs hex /caractères un par un, les données réelles ressemble à ceci:
2e . [ Last char of line ]
d
58 X [ First char on next line ]
L'arrêt complet est le dernier caractère d'une ligne. Le " X " est le premier caractère de la ligne suivante. L'hex 'd' provoque le retour à la ligne.
Ce qui se passe? Et comment puis-je tester mon ch
variable contre > d<
, étant donné que c'est l'espace-d dans l'hexagone?
Grâce.
Je suis l'aide de TextEdit sur Mac.
Merci, messieurs 🙂
OriginalL'auteur Nick | 2012-05-10
Vous devez vous connecter pour publier un commentaire.
Windows utilise une paire de caractères à la fin d'une ligne: un retour de chariot (0x0d), suivi par un saut de ligne (0x0a).
Vous pouvez écrire ces en C comme
'\r'
et'\n'
, respectivement.OriginalL'auteur unwind
Hexadécimal littéraux dans C sont préfixés avec
0x
ou0X
, donc dans votre cas vous pouvez utiliser les0xd
ou0XD
ou0xD
.OriginalL'auteur Sebastian Mach
Vous pouvez analyser vos données dans le "Hex-editor" et alors vous pouvez obtenir la valeur hexadécimale correspondant à un personnage en particulier, et permet également de tester la variable à l'aide de ces valeurs ajoutées par 0x.
OriginalL'auteur john