_stprintf()在c++和MFC中只读取第一个字符
_stprintf() read only first char in C++ and MFC
我在我的MFC应用程序中有一个文本编辑控件,我正试图读取控件中写入的文本,以便在我的硬盘上写入文件。
问题是它只读取第一个字符而不是整个字符串。
tchar fname[100];
_stprintf(fname, _T("%Sfile-%d.bmp"), pDoc->swap_text, swap);
save_image_uncompressed( (const unsigned char*) pDoc->image[idx], fname, pDoc->m_buf[idx].lpbmi[frm_idx]->bmiHeader.biHeight,
pDoc->m_buf[idx].lpbmi[frm_idx]->bmiHeader.biWidth,
pDoc->m_buf[idx].lpbmi[frm_idx]->bmiHeader.biWidth*3,
0);
例如,如果在编辑控件中写入:name_of_directory/,那么它将读取:"*n*file-1.bmp",这是name_of_directory/string的第一个字符。
我试图使用
_stprintf(fname, _T("%Sfile-%d.bmp"), pDoc->swap_text.GetString(), swap);
但是我也有同样的问题。
你能帮我一下吗?您似乎使用了错误的格式代码:
_stprintf(fname, _T("%sfile-%d.bmp"), ...)
// ^^
您应该使用%s
(小写)而不是%S
(大写)。
相关文章:
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 全局变量 多读取器 一个写入器多线程安全?
- 如何使用C++读取另一个程序中的源代码输出
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 而(!inputfile.eof())只读取第一行?
- 如何仅读取文本文件中的第一个值
- 在C++中,如何在第一个"system()"结束后执行第二个"system()"?
- 查找不在标准中的第一个值::设置<int>最小-最大值
- C++:忽略第一个 cin.ignore 之后的输入
- 在C++中打印多个矢量的第一个值
- C++去除前x个元素的有效方法,在不改变向量大小的情况下将第x+1个元素推到第一个
- C++第一个cout将不会打印
- 我们可以在第一个else-if条件结束后使用另一个else-if条件吗
- OpenGL:第二个VBO破坏了第一个VBO
- ifstream 不读取第一行
- UDP 套接字读取最后一个传入字节
- 为什么第一个Dynamic_cast没有投射到基类?
- 解压缩串联的 zlib 流而不读取下一个字节
- OpenGL 2D游戏只绘制第二个精灵纹理而不是第一个
- C++ 为什么程序只读取第一个值