VS2015 现在错误 C4477 "fprintf"
VS2015 now error C4477 "fprintf"
到目前为止,VS编译我的代码很完美,但现在VS2015给我一个我无法理解的警告。
我代码: CString nombre=_T("Stack"), dsc=_T("overflow");
_ftprintf(file, _T("%s %s);n"), nombre, m_dsc);
和VS2015:
警告C4477 'fwprintf':格式字符串'%s'需要一个参数类型'wchar_t *',但可变参数1的类型'CString'
为什么?为什么我不能用CString代替wchart_t?我想使用CString
提前致谢
乔斯米
_ftprintf(file, _T("%s %s);n"), (LPCTSTR)nombre, (LPCTSTR)dsc);
我更喜欢GetString()而不是c风格的强制转换:
_ftprintf(file, _T("%s %s);n"), nombre.GetString(), dsc.GetString());
我建议考虑使用std::fstream's来处理文本文件
#include <tchar.h>
// printf("%s %d %p", str, i, ptr);
_tprintf_s(_T("%s %d %p"), str, i, ptr);
相关文章:
- 如何使用 fprintf 将连续的 512 字节保存到文件中
- 哪个更适合从C++写入敏感的日志文件,在文件描述符上写()或文件上的fprintf()?
- fprintf 不打印到文件,当文件指针在其他地方声明时
- 为什么 ofstream 比 fprintf 慢?
- fprintf stdout 没有 100% 准确转储数据
- 使用 fprintf 连续写入字符串
- 我如何自定义fprintf以启用禁用
- 如何使用std :: fprintf()打印一个长字符串
- fprintf:打印文字十六进制字符串
- C4477: 'fprintf' :格式字符串 '%s' 需要类型为"char *"的参数,但可变参数 1 的类型为"int *"
- 编写自定义 FPrintF
- 打印带有 fprintf 的字符串
- C++ fprintf 只打印第一个字符串
- fprintf、字符串和矢量
- 用"fprintf"打印错误后调用"getchar()"有什么意义?
- dup2 : write() 重定向,但不是 fprintf() 或 puts()
- 从动态库(c++)调用fprintf
- 使用fprintf时的Nuances
- 如何使用 fprintf 打印头文件中定义的结构成员值?
- VS2015 现在错误 C4477 "fprintf"