gpt4 book ai didi

c++ - _stprintf() 只读 C++ 和 MFC 中的第一个字符

转载 作者:行者123 更新时间:2023-11-28 07:41:48 26 4
gpt4 key购买 nike

我在 C++ 的 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/字符串的字符。

我试过

_stprintf(fname, _T("%Sfile-%d.bmp"), pDoc->swap_text.GetString(), swap);

但我也有同样的问题。

你能帮帮我吗?

最佳答案

您似乎使用了错误的格式代码:

_stprintf(fname, _T("%sfile-%d.bmp"), ...)
// ^^

您应该使用 %s(小写)而不是 %S(大写)。

关于c++ - _stprintf() 只读 C++ 和 MFC 中的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15707445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com