用qt經常頭痛於一些格式不能通用的問題
在此記錄備用
1 (20120112)qstring轉為char *
qstring *str;
char *a;
str="hello word ! "
a=str->tolatin1().data();
2 字串中輸入變數
char a[64];//定義時直接分配空間
int temp = 50;
sprintf(a,"the value is %04d",temp);
結果為a="the value is 0050\0"
以下為**sina小洋(謝謝作者整理
char * 與 const char *的轉換
char *ch1="hello11";
const char *ch2="hello22";
ch2 = ch1;//不報錯,但有警告
ch1 = (char *)ch2;
char 轉換為 qstring
其實方法有很多中,我用的是:
char a='b';
qstring str;
str=qstring(a);
qstring 轉換為 char
方法也用很多中
qstring str="abc";
char *ch;
ch = str.tolatin1.data();
qbytearray 轉換為 char *
char *ch;//不要定義成ch[n];
qbytearray byte;
ch = byte.data();
char * 轉換為 qbytearray
char *ch;
qbytearray byte;
byte = qbytearray(ch);
qstring 轉換為 qbytearray
qbytearray byte;
qstring string;
byte = string.toascii();
qbytearray 轉換為 qstring
qbytearray byte;
qstring string;
string = qstring(byte);
這裡再對這倆中型別的輸出總結一下:
qdebug()<<"print";
qdebug()<
char * 與 const char *的轉換
char *ch1="hello11";
const char *ch2="hello22";
ch2 = ch1;//不報錯,但有警告
ch1 = (char *)ch2;
char 轉換為 qstring
其實方法有很多中,我用的是:
char a='b';
qstring str;
str=qstring(a);
qstring 轉換為 char
方法也用很多中
qstring str="abc";
char *ch;
ch = str.tolatin1.data();
qbytearray 轉換為 char *
char *ch;//不要定義成ch[n];
qbytearray byte;
ch = byte.data();
char * 轉換為 qbytearray
char *ch;
qbytearray byte;
byte = qbytearray(ch);
qstring 轉換為 qbytearray
qbytearray byte;
qstring string;
byte = string.toascii();
qbytearray 轉換為 qstring
qbytearray byte;
qstring string;
string = qstring(byte);
這裡再對這倆中型別的輸出總結一下:
qdebug()<<"print";
qdebug()<
另乙個
1 qstring --> string
qstring.tostdstring();
2 string --> qstring
qstring::fromstdstring(string)
3 qstring --->int,double,char *
qstring::toint()
qstring::todouble()
qstring.tostdstring().c_str();
4 int double char* --->string
可以採用裡的stringstream
以int 為例,int a = 3;
stringstream ss;
string strint;
ss>strint;
其他兩個一樣。
5 int double char*裝qstring
Qt 格式轉換問題 記錄(好多方法)
用qt經常頭痛於一些格式不能通用的問題 在此記錄備用 1 20120112 qstring轉為char qstring str char a str hello word a str tolatin1 data 2 字串中輸入變數 char a 64 定義時直接分配空間 int temp 50 sp...
Qt軟體發布問題記錄
最近在win7 qt 5.5.1 vs2012環境下軟體開發,開發好的軟體編譯release版本,用之前寫過的一篇帖子 qt程式發布 方式將所需要的動態庫拷貝到一起,nsis指令碼打包成exe安裝程式,以為一切ok。當然在自己的機子上執行是沒有問題的,可是換到別的電腦上,可能就要報錯了。1.缺少 m...
Qt 問題記錄 單指觸控預設轉換滑鼠事件
在過載qwidget控制項的event 函式處理觸控螢幕操作時,發現單指觸控事件會被預設轉換成滑鼠事件,導致程式接收了qevent touchbegin事件後無法繼續接收後續的qevent touchupdate qevent touchend事件。檢視qt文件後發現qt的事件處理中有以上兩種屬性可...