signed char*/unsigned char*/QString

697 ワード

redhat.0ではQt 3を用いる.1.1 signed char*/unsigned char*からQStringへの変換を実現する.
ネット上でいろいろな方法を探して、すべてだめで、最後に直接強制的に転換して、しばらく間違いを発見していません.
char* p = "abc"; 
signed char* p1 = ( signed char* )p; 
unsigned char* p2 = ( unsigned char* )p; 
 
QString str( "" ); 
QString str1( "" ); 
QString str2( "" ); 
 
int i=0; 
while( p[i]!='\0' ) 
{ str+=p[i]; i++; }  
 
int j=0; 
while( p1[j]!='\0' ) 
{ str1+=p1[j]; j++; } 
 
int k=0; 
while( p2[k]!='\0' ) 
{ str2+=p2[k]; k++; }
 
textLabel1->setText( str );
textLabel2->setText( str1 ); 
textLabel3->setText( str2 ); 
 
// for( int i=0;i<3;i++ )// {// str = str + p[i];// }