Maison > Article > développement back-end > Comment utiliser les caractères baltes dans les commandes CMD avec Visual Studio 2019 C ?
Les projets Visual Studio 2019 C prennent en charge les caractères baltes. Pour utiliser ces caractères, le projet doit être configuré pour utiliser le codage UTF-8. Cela peut être fait en ajoutant le code suivant au fichier source du projet :
<code class="cpp">#include <iostream> #include <locale> int main() { std::locale::global(std::locale("en_US.UTF-8")); std::cout << "ĀāĀā" << std::endl; }
Une fois le projet configuré pour utiliser l'encodage UTF-8, les caractères baltes peuvent être utilisés dans les applications console et dans les commandes CMD.
Afin d'exécuter des commandes CMD avec des caractères baltes, elles doivent d'abord être converties en chaînes hexadécimales. Cela peut être fait en utilisant le code suivant :
<code class="cpp">#include <string> #include <sstream> #include <iomanip> std::string toHexString(const std::string& str) { std::stringstream ss; for (char c : str) { ss << std::hex << std::setw(2) << std::setfill('0') << (int)static_cast<unsigned char>(c); } return ss.str(); }</code>
Une fois les caractères baltes convertis en chaînes hexadécimales, ils peuvent être utilisés pour exécuter des commandes CMD. Cela peut être fait en utilisant le code suivant :
<code class="cpp">#include <windows.h> #include <iostream> #include <string> int main() { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); ZeroMemory(&pi, sizeof(pi)); std::string cmd = "cmd /c echo "; cmd += "ĀāĀā"; if (!CreateProcess(NULL, (LPSTR)cmd.c_str(), NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) { std::cerr << "Error executing command" << std::endl; return 1; } WaitForSingleObject(pi.hProcess, INFINITE); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); return 0; }</code>
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!