Maison > développement back-end > C++ > Comment puis-je lire de manière fiable des lignes à partir de fichiers texte avec des encodages de nouvelle ligne mixtes à l'aide de C ?

Comment puis-je lire de manière fiable des lignes à partir de fichiers texte avec des encodages de nouvelle ligne mixtes à l'aide de C ?

Susan Sarandon
Libérer: 2024-12-04 20:47:12
original
829 Les gens l'ont consulté

How Can I Reliably Read Lines from Text Files with Mixed Newline Encodings Using C  ?

Gestion des encodages de nouvelle ligne avec std::ifstream

Lorsque vous travaillez avec des fichiers texte, les nouvelles lignes codées de manière incohérente peuvent présenter des défis. Cet article aborde le problème de la gestion gracieuse des fins de ligne LF, CR et CRLF à l'aide de la classe std::ifstream.

std::istream& getline ( istream& is, string& str );
Copier après la connexion

La fonction getline lit une ligne jusqu'à un caractère de nouvelle ligne. Cependant, il peut laisser des caractères CR ou CRLF résiduels en fin de ligne. Pour résoudre ce problème, l'article propose d'utiliser une fonction personnalisée appelée safeGetline :

std::istream& safeGetline(std::istream& is, std::string& t)
{
    // ...
}
Copier après la connexion

La fonction safeGetline parcourt le flux d'entrée, vérifiant chaque caractère et détectant l'encodage de nouvelle ligne approprié. Il gère les trois caractères de nouvelle ligne courants : LF, CR et CRLF.

Pour tester la fonction safeGetline, l'article fournit un exemple de programme qui ouvre un fichier texte, lit ses lignes à l'aide de safeGetline et compte le nombre total. de lignes. Cela démontre la capacité de la fonction à gérer divers encodages de nouvelle ligne rencontrés dans les fichiers texte du monde réel.

En utilisant la fonction safeGetline, les programmeurs peuvent écrire du code qui prend en charge tous les formats d'encodage de nouvelle ligne courants, quelle que soit la plate-forme ou la source du fichier. fichiers texte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal