我在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 / string的字符。
我尝试使用
_stprintf(fname, _T("%Sfile-%d.bmp"), pDoc->swap_text.GetString(), swap);
但我有同样的问题。
请帮帮我吗?
答案 0 :(得分:1)
您似乎使用了错误的格式代码:
_stprintf(fname, _T("%sfile-%d.bmp"), ...)
// ^^
您应该使用%s
(小写)而不是%S
(大写)。