我有一些很简单的操作,我试图提示用户输入字符并将该字符保存到字符串中。然后我打印整个字符串。
该程序适用于Windows,但我希望该程序同时适用于ASCII和Unicode,这就是为什么我使用TCHAR和wstring的原因。
我的问题:我无法将(用户输入的)字符添加到wstring上。它只是不会存储在该变量中。为什么?
我的简单代码:
#include <windows.h>
#include <tchar.h>
#include <conio.h>
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
int main()
{
// I am using wstring for unicode compatibility but in Windows(MSDN) is there a general
// string variable? You know how there is char, wchar & then TCHAR(which is a general variable
// for both ASCII & unicode). Is there a TSTRING or something?
wstring chStr = L"abc";
TCHAR ch = L'a';
while ( ch != '!' )
{
printf("Enter a character: ");
ch = getch();
chStr += ch; // the string never takes on a char it always remains as "a"
printf("\nThe characters entered so far are: %s \n", chStr.c_str());
}
system("PAUSE");
return 0;
}
最佳答案
您可以使用tchar* input
然后
wstring chStr = L"abc";
std::wstring s(input)
chStr += s;
关于c++ - 将TCHAR添加到wstring:不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6639476/