如何将 a 拆分TCHAR为其他变量?例子:
TCHAR comando[50], arg1[50], arg2[50];
Mensagem msg;
_tcscpy(msg.texto, TEXT("MOVE 10 12"));
Run Code Online (Sandbox Code Playgroud)
因此,msg.texto有字符串“MOVE 10 12”,我希望变量comando[50]为“MOVE”,变量arg1为“10”,变量arg2为“12”。我怎样才能做到这一点?抱歉有些可能的英语错误。提前致谢!
解决了:
TCHAR *pch;
pch = _wcstok(msg.texto, " ");
_tcscpy(comando, pch);
pch = _wcstok(NULL, " ");
_tcscpy(arg1, pch);
pch = _wcstok(NULL, " ");
_tcscpy(arg2, pch);
Run Code Online (Sandbox Code Playgroud) std :: wstring.c_str()返回一个wchar_t*.
如何从wchar_t*到TCHAR*,或从std :: wstring到TCHAR*
谢谢
我有一个类,它返回一个指向"const TCHAR"的类型指针.我需要将它转换为std :: string,但我还没有找到一种方法来实现这一点.
谁能提供一些有关如何转换它的见解?
如何将文本输入到TCHAR* argv[]?
或:如何从 转换char为TCHAR* argv[]?
char randcount[] = "Hello world";
TCHAR* argv[];
argv = convert(randcount);
Run Code Online (Sandbox Code Playgroud) 我在Windows 7(32位)上运行最新的cygwin,并尝试构建一个开源项目RtAudio(它目前不在此平台上构建).
我遇到的一个问题是线路上的错误
#include <tchar.h>.
我的构建线是:
g++ -O2 -Wall -Iinclude -DHAVE_GETTIMEOFDAY -D__WINDOWS_DS__ -c RtAudio.cpp -o RtAudio.o
Run Code Online (Sandbox Code Playgroud)
错误是:
tchar.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果我将/ usr/include/mingw(包含tchar.h)添加到包含路径列表中,我会收到更多错误.
我已经不使用LPCTSTR,只是重载需要它的一个功能,解决该问题的工作const char*,并const wchar_t*让我能够避免,包括TCHAR.H,但有一个更好的方式来做到这一点?
我的主要有以下签名:
int _tmain(int argc, _TCHAR* argv[])
Run Code Online (Sandbox Code Playgroud)
我想预先形成以下内容:
FILE *inputFilePtr;
inputFilePtr = fopen(argv[2], "_r");
Run Code Online (Sandbox Code Playgroud)
但是存在类型不匹配.我该怎么办?我应该使用:
inputFilePtr = _tfopen(argv[2], ??????);
Run Code Online (Sandbox Code Playgroud)
谢谢!
代码:
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << argv[0] << endl;
system("PAUSE");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,一个标准的 Win32 控制台应用程序。
令人困惑的部分是, 的值argv[0]输出为00035B88。
(据我所知)这是在没有命令行选项的情况下运行的,所以argv[]应该还没有值。(或者这就是问题所在?)
然而,argv[]被声明为指针(_TCHAR*),我听说它将cout打印指针的地址。是这样吗?如果是这样,我如何打印/使用 的值argv?
char* stheParameterFileName = argv[1]; //I'm passing the file name as a parameter.
TCHAR szName [512];
Run Code Online (Sandbox Code Playgroud)
我怎样才能转换char*成TCHAR []?
我正在尝试使用Visual Studio 2010中的C++程序建立一个用于串口通信的arduino uno.我正在使用此处找到的代码:http://playground.arduino.cc/Interfacing/CPPWindows
不幸的是,.cpp文件为变量'portName'的第9行提供了以下消息:
错误:类型"char*"的参数与"LPCWSTR"类型的参数不兼容
我不明白这个错误信息,并尝试了一些不同的东西来解决它.任何帮助将不胜感激!
我有一个问题,试图自己键入一个非常方便的tstring(见下文)
#ifndef _NISAMPLECLIENT_H_
#define _NISAMPLECLIENT_H_
#include <windows.h>
#include <stdlib.h>
using namespace std; // ERROR here (1)
#ifdef _UNICODE
#define CommandLineToArgv CommandLineToArgvW
#else
#define CommandLineToArgv CommandLineToArgvA
#endif
typedef basic_string<TCHAR> tstring; // ERROR HERE (2)
Run Code Online (Sandbox Code Playgroud)
尝试编译时出现编译器错误."ERROR here(1)"中的错误是:
错误3错误C2871:'std':具有此名称的命名空间不存在\nisampleclient \nisampleclientdefs.h 16
如果我删除using namespace std;声明并更改ERROR HERE(2)typedef std::basic_string<TCHAR> tstring;然后我收到错误:
错误3错误C2653:'std':不是类或命名空间名称\nisampleclient \nisampleclientdefs.h 23
在那一点上.
提前致谢.:)