将字符转换为TCHAR* argv[]

4
我该如何输入文本到 TCHAR* argv[] 中?
或者,我该如何将 char 转换为 TCHAR* argv[]
char randcount[] = "Hello world";

TCHAR* argv[];

argv = convert(randcount);

TCHAR* argv[] = _T("HelloWorld"); 出现错误错误 C2440: 'initializing' : 无法从 'const char [134]' 转换为 'TCHAR *[]' - Sijith
你缺少开头的引号 :-) 除此之外,TCHAR* argv[] 是一个 TCHAR 指针数组,而你正在尝试将一个字符串赋值给它。你需要像这样做:TCHAR* argv[10]; argv[0]=_T("HelloWorld"); - Naveen
我这样编写了我的代码: TCHAR* ptszFirstInFile = _T("sample1.asf") ; TCHAR* ptszSecondInFile = _T("sample2.asf") ; TCHAR* ptszOutFile = _T("xxxx.asf") ;现在出现了错误:无法将 'const char [12]' 转换为 'TCHAR *' - Sijith
2个回答

7

一种方法是:

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

1
#include "atlstr.h" - Expenzor

0

/* 这段代码在我的项目中使用 TCHAR 而没有使用 A2T 或其他转换器。Char 文本是一种数组。因此,我们可以逐个取出字母并将它们放入 TCHAR 中。*/

    #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;
   }

你能否解释一下你的代码,让其他人也能理解吗? - user6250760
这段代码在我的项目中使用TCHAR,没有使用A2T或任何其他转换器。Char文本是一种数组。因此,我们可以逐个取出字母并将它们放入TCHAR中。 - Max Barannyk
请问您能否将其放在您的回答中? - user6250760

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接