如何将整数变量连接到字符串文字
我想将int变量连接到字符串literal.String literal是一个路径。 这是代码如何将整数变量连接到字符串文字
bitmap.Save(L"D:\\screen.jpeg", &clsid);
在这段代码中,我想补充int变量screen.I已经尝试了本
bitmap.Save(L"D:\\screen"+k+L".jpeg", &clsid);// where k is the integer variable.
后不幸的是,它并没有为me.The错误工作是
"error C2110: '+' : cannot add two pointers"
编译器会抱怨,因为L"D:\\screen.jpeg"
是wchar[]
型和k
为int(可能)。
最简单的方法是使用std::to_wstring
(或std::to_string
)方法将int
明确转换为wstring
(或string
)。
bitmap.Save((L"D:\\screen" + std::to_wstring(k) + L".jpeg").c_str(), &clsid);
感谢您的帮助..这也是行不通的 –
错误是这........'Gdiplus ::状态Gdiplus ::图像::保存(常量WCHAR *,常量CLSID *,常量Gdiplus ::编码器参数*)':不能将参数1从'std :: basic_string <_elem>'转换为'const WCHAR *'......... –
我认为没有可以执行此操作的转换操作符我的解决方案..不知道..我认为这样 –
如果您使用的是C++ 11,请使用std::to_wstring
。
bitmap.Save(L"D:\\screen" + std::to_wstring(k) + L".jpeg", &clsid);
如果您在C++ 11遗憾的是不是,你可以使用std::wstringstream
。
std::wstringstream strm;
strm << L"D:\\screen" << k << L".jpeg";
bitmap.Save(strm.str());
thanx为你的答案....不幸的是,这也是不工作:( –
@GreeshmaPanicker也许你忘了使用'c_str()'如果'保存)''接受'const char *'。熟悉C++ ... – ikh
可以使用std::wstring
,但你需要调用.c_str()
为了与期望wchar_t *
API使用它。
std::wstring filename = L"D:\\screen" + std::to_wstring(k) + L".jpeg";
bitmap.Save(filename.c_str(), &clsid);
使用['std :: wistringstream'](http://en.cppreference.com/w/cpp/io/basic_istringstream)构建文件名。 –
但你*可以*向指针添加一个int,包括宽字符串文字(这是一个const'wchar_t'数组)的指针衰减。结果是另一个指针,虽然;不存在例如“int.ToString()魔术”。在C#中附加了int的字符串表示。 –