在将数据写入到文本文件时,建立代码:
CFileDialog dlg(FALSE, "*.txt",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"*.txt");
if ( dlg.DoModal()!=IDOK ) return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
CStdioFile out;
//打开文件
out.Open(sFileName, CFile::modeCreate|CFile::modeWrite);
//保存文件
CString sSql="文本文件内容";
out.WriteString(sSql);
out.Close();
但是编译时出错: error C2664: 'CFileDialog::CFileDialog' : cannot convert parameter 3 from 'const int' to 'const char *' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast。如果把OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT去掉就没错了,这是怎么回事,这个应该是没错的。
还有一个问题,如果数据是在double aa[]数组中存放的,如何写到文本文件中。
CFileDialog dlg(FALSE, "*.txt",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"*.txt");
if ( dlg.DoModal()!=IDOK ) return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
CStdioFile out;
//打开文件
out.Open(sFileName, CFile::modeCreate|CFile::modeWrite);
//保存文件
CString sSql="文本文件内容";
out.WriteString(sSql);
out.Close();
但是编译时出错: error C2664: 'CFileDialog::CFileDialog' : cannot convert parameter 3 from 'const int' to 'const char *' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast。如果把OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT去掉就没错了,这是怎么回事,这个应该是没错的。
还有一个问题,如果数据是在double aa[]数组中存放的,如何写到文本文件中。
解决方案 »
- 给点思路
- 寻VC++经典书籍
- 单线程处理多个套接字
- 16位色模式下无法显示PNG图片
- 请问如何使静态文本框透明,谢谢!
- pascal中的数据类型“集合”在C++中怎么表示阿?
- 做的vc程序运行一段时间后老出现vc运行时错误,程序不正常终止,主要是哪几种情况造成的?紧急求救
- 我的listctrl怎么insertcolumn以后没用
- 请教注册表中类似{7BA4C740-9E81-11CF-99D3-00AA004AE837}的字符串意思的问题,来者有分!
- 为什么要用MAKEINTRESOURCE()
- 滚动条问题
- 有没有C#和C++都可以用的加密方法!? 帖出原码,或连接地址,送分,UP,有分!!!
注意一下,你的参数不对咯,呵呵
CFileDialog(
BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL);
举例:
For example, Microsoft Excel permits users to open files with extensions .XLC (chart) or .XLS (worksheet), among others. The filter for Excel could be written as:static char BASED_CODE szFilter[] = "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";你看一下MSDN就知道了~~~
CFileDialog dlg(FALSE, "*.txt",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"txt|*.txt||");
用sprintf写字符窜
Example
/* SPRINTF.C: This program uses sprintf to format various
* data and place them in the string named buffer.
*/#include <stdio.h>
void main( void )
{
char buffer[200], s[] = “computer”, c = ‘l’;
int i = 35, j;
float fp = 1.7320534f;/* Format and print various data: */
j = sprintf( buffer, “\tString: %s\n”, s );
j += sprintf( buffer + j, “\tCharacter: %c\n”, c );
j += sprintf( buffer + j, “\tInteger: %d\n”, i );
j += sprintf( buffer + j, “\tReal: %f\n”, fp );printf( “Output:\n%s\ncharacter count = %d\n”, buffer, j );
}
Output
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053character count = 71
sprintf(szBuffer, "%.4f", a);