/ / C ++ lisant un nom de fichier non anglais et un texte non anglais [duplicate] - c ++, unicode, io, stream

Lecture C ++ à partir d'un nom de fichier non anglais et d'un texte non anglais [duplicate] - c ++, unicode, io, stream

J'ai un fichier qui a un nom non anglais. Le contenu est également non anglais.

Maintenant, je voudrais créer un flux sur ce fichier pour pouvoir lire / écrire des données.

Aussi, si possible, je voudrais détecter sur quelle langue est le texte.

Par exemple:

J'ai un fichier ". Txt" et à l'intérieur du fichier texte, nous avons écrit "Բարև" Le fichier est codé en Unicode. Maintenant, je veux lire le nom du fichier et le texte dans la RAM.

Aussi, supposons que j'ai un autre texte "". Maintenant, je veux créer un fichier "txt" et écrire un autre texte unicode à l'intérieur du fichier.

OS: Windows 7+.

C ++: vc120 ou vc140.

Réponses:

2 pour la réponse № 1

Windows prend nativement un très bon support pour l’unicode, du moins pour le Plan multilingue de base, depuis au moins Windows 3 avec la partie Unicode de l’API.

Vous devez juste utiliser des caractères larges pour le nom du fichier et pour les fonctions qui le traitent, et un largeflux de caractères. Mais sans voir votre code, je crains de ne pouvoir en dire plus, si ce n’est qu'avec des compilateurs C ++ assez récents, vous pouvez le faire avec des fonctions WinAPI ou avec la bibliothèque standard C ++ (std :: wstring et et std :: wfstream) Mais vous devrez savoir quel encodage vous utilisez pour les fichiers ...