在Visual C++中使用MessageBoxW来输出添加在一起的多个字符串
Use of MessageBoxW in Visual C++ to output multiple strings which are added together
如何在LPCWSTR中输出不同变量的混合以在MessageBoxW中显示?我正在使用Visual C++2008学习版,我是一个非常初学者。我的问题是在字符串中添加不同的变量。它基本上总是说:不能添加两个指针。为什么我不能像所有其他编程语言一样,将两个字符串或一个字符串和一个整数与正则"+"号相加?我使用了谷歌,找到了字符串流,但这对我来说并不奏效,所以请不要再向我建议了。
我有三种类型的变量:(是的,我的程序是用unicode运行的,必须是这样!我已经在标题中定义了unicode。)
wchar_t username[255];
wchar_t windir1[MAX_PATH];
wchar_t computername1[255];
然后我的MessageBox有一个变量:
LPCWSTR message1;
我有我的MessageBox的代码:
MessageBox(NULL, message1, L"Info", MB_OK);
现在我该如何将这三个变量加在一起输出。我的以下代码不起作用:
message1 = "Computername: " + computername1 + "n" + "Username: " + username1 + "n" + "Windows Directory: " + windir1;
错误类似于"无法转换…"answers"无法添加两个指针…",我已经尝试了所有操作,或者加号('+')是非法的。是否有任何文本宏可以轻松地将字符串添加到一起或类似的内容?我在研究中没有发现什么令人满意的东西。Borland的大多数例子都像.c_str()在Visual Studio C++中不可用。
只要不添加任何内容,一个变量就可以用于输出:
LPCWSTR message1 = _T(computername1);
但是我说我想用加号运算符和多个字符串加在一起发出"message1"。
这个构造已经不起作用了,它说:不能添加两个指针
LPCWSTR message1 = _T(computername1) + _T("My Test String");
什么指针?
添加将不起作用。
您必须分配内存并将字符串复制到其他位置。一个好的方法是wsprintf,或者一个支持加法的C++类std::wstring。但是,最好避免使用宽字符(UTF-16),并使用常规std::字符串进行添加。将它们传递给带有boost::nowide的MessageBoxW()。有关更多详细信息,请参阅utf8everywhere.org。
- 你能在 c++ 中将不同的数字类型加在一起吗?
- 如何将两个字符串加在一起,就好像它们是变量一样?
- 在浮点精度成为一个问题之前,可以将多少个浮点值加在一起
- 为什么在template函数广播中把两个extensor表达式加在一起不正确
- 编译器如何将链表中的地址字符串在一起?
- 如何将两个 jlong 数据类型转换为 jstring,然后将两个字符串连接在一起以便从 JNI 将字符串返回给 jav
- 通过字符串迭代并将每个循环中的先前字符组合在一起
- C 操作员超载将3个向量加在一起
- 在没有返回值优化的情况下将两个对象加在一起时,将创建多少个临时对象
- C 将2个字符串合并在一起
- 以简单且更少的代码方式将字符串添加在一起
- C++将三个char*字符串连接在一起
- 在Visual C++中使用MessageBoxW来输出添加在一起的多个字符串
- 在C++中重新加载 Java 字符串
- 试图将字符串的两个元素组合在一起会得到错误的结果(c++)
- 如何将向量中的所有元素加在一起?C++
- 试图创建一个函数,将两个大小不等的字符串向量中的单词连接在一起
- 在对象上重载 sum 运算符时,无法可靠地将两个 int 数组加在一起?
- 在 c++ 中,char 和 const * char 有什么区别,为什么不能将两个字符加在一起
- 我如何将两个SSE寄存器加在一起