2010-04-16 7 views
3

Как я могу ввести текст в TCHAR* argv[]?Преобразование char в TCHAR * argv []

OR: Как я могу конвертировать из char в TCHAR* argv[]?

char randcount[] = "Hello world"; 

TCHAR* argv[]; 

argv = convert(randcount); 
+0

TCHAR * ARGV [] = _ Т ("HelloWorld"); \t Ошибка отображения ошибка C2440: 'initializing': невозможно преобразовать из 'const char [134]' в 'TCHAR * []' – Sijith

+0

Вам не хватает «в начале :-), кроме' TCHAR * argv [ ] '- массив указателей TCHAR, и вы пытаетесь присвоить ему строку. Вам нужно что-то вроде этого:' TCHAR * argv [10]; argv [0] = _ T («HelloWorld»); ' – Naveen

+0

я дал мой код, как этот TCHAR * \t ptszFirstInFile = _T ("sample1.asf"); TCHAR * \t ptszSecondInFile = _T ("sample2.asf"); TCHAR * \t ptszOutFile = _T ("xxxx.asf") ; NOw получение ошибки не может конвертировать из 'const char [12]' в 'TCHAR *' – Sijith

ответ

4

Один из способов сделать это:

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

Не могли бы вы объяснить свой код, чтобы другие могли понять? – SteveFest

+0

Этот код сделал TCHAR в моем проекте без A2T или любых других преобразователей. Текст Char - это какой-то массив. Поэтому мы можем брать письма один за другим и помещать их в TCHAR. –

+0

Можете ли вы поместить его в свой ответ, пожалуйста? – SteveFest

Смежные вопросы