程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> std::wstring和QString類型的字符串之間的轉換

std::wstring和QString類型的字符串之間的轉換

編輯:關於C語言

最近做一個項目,由於用到別人的程序,而這個程序的接口給的是std::wstring類型的,而對字符串的處理,QT中的QString要比wstring強大很多,所以要進行這兩種類型字符串之間的想換轉換

首先介紹std::wstring轉換成QString

這裡用到了QString中的函數

QString qStr;
qStr= QString::fromStdWString(wStr);

這裡的qStr是轉換之後的字符串,wStr是在進行轉換之前用到的字符串。

在轉換完之後對qStr進行一些列的處理,比如:

qStr.replace("/", "\\\\");

這個處理的意思就是把字符串qStr中的/都替換成\\,wstring是沒有這樣的函數的

在處理完之後,我們要把QString類型的字符串重新轉換回wstring,這裡用到的還是

QString中的函數,

wStr = qStr.toStdWString()

下面給出一個完整的例子

std::wstring wStr = L"C:\windows\system32\hao123\tianCai\";
QString qStr = QString::fromStdWString(wStr);
qStr.replace("/","\\\\");
wStr = qStr.toStdWString();

最後的結果大家應該都知道了就是wStr裡面存的是"C://windows//system32//hao123//tianCai//"

本文出自 “賣萌程序員” 博客,請務必保留此出處http://7677869.blog.51cto.com/7667869/1281413

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved