2010-04-16 20 views
3

Comment puis-je saisir du texte dans TCHAR* argv[]? OU: Comment puis-je convertir de char à TCHAR* argv[]?Convertir le caractère en TCHAR * argv []

char randcount[] = "Hello world"; 

TCHAR* argv[]; 

argv = convert(randcount); 
+0

TCHAR * argv [] = _ T ("HelloWorld"); \t Son erreur d'affichage erreur C2440: 'initialisation': ne peut pas convertir de 'const char [134]' à 'TCHAR * []' – Sijith

+0

Il vous manque "au début :-) en dehors du' TCHAR * argv [ ] 'est un tableau de pointeurs TCHAR et vous essayez de lui assigner une chaîne.Vous avez besoin de quelque chose comme ceci:' TCHAR * argv [10]; argv [0] = _ T ("HelloWorld"); ' – Naveen

+0

j'ai donné mon code comme celui-ci TCHAR * \t ptszFirstInFile = _T ("sample1.asf"); TCHAR * \t ptszSecondInFile = _T ("sample2.asf"); TCHAR * \t ptszOutFile = _T ("xxxx.asf") ; Nouvelle erreur d'obtention Impossible de convertir 'const char [12]' en 'TCHAR *' – Sijith

Répondre

4

Une façon de faire est:

char a[] = "Hello world"; 
USES_CONVERSION; 
TCHAR* b = A2T(a); 
+0

#include "atlstr.h" – Expenzor

0
#include <iostream> 
    TCHAR* Converter(char* cha)  
    { 
     int aa = strlen(cha); 
     TCHAR* tmp = new TCHAR[aa+1]; 
     for(int i = 0; i< aa+1; i++) 
      { 
      tmp[i]=cha[i]; 
      } 
     return tmp; 
    } 

    int main() 
    { 
     char* chstr= new char[100]; 
     chstr = "char string"; 
     TCHAR* Tstr = new TCHAR[100]; 
     //Below function "Converter" will do it 
     Tstr = Converter(chstr); 
     std::cout<<chstr<<std::endl; 
     std::wcout<<Tstr<<std::endl; 
    } 
+0

Pouvez-vous expliquer votre code un peu afin que les autres puissent le comprendre? – SteveFest

+0

Ce code a fait TCHAR dans mon projet sans A2T ou tout autre convertisseur. Le texte de caractère est une sorte de tableau. Nous pouvons donc prendre les lettres une par une et les mettre à TCHAR. –

+0

Pouvez-vous le mettre dans votre réponse, s'il vous plaît? – SteveFest