C++中如何自动创建文件

例如有text.txt文件,其中数据如15 154 45 46 21 57 84 64 .......
我想达到的目的是读入这些数。然后根据一定规律把这些数分开存入不同的**.txt文件中
text.txt文件中数的个数不定,**.txt文件数目不定,**.txt文件名字如1.txt 2.txt 3.txt ........
用什么方法才能实现C++自动创建**.txt文件呢?

根据一定规律读入的时候可以用一个变量保存读入的是不同的部分,用if语句判断,然后用C++文件流iofstream中的写文件ofstream来写入相应的文件;
文件流中有 这样几种文件打开方式:
ios:: in //读方式打开文件(文件不在,新建)
ios::out // 写方式打开文件(文件存在,删空数据;文件不在,新建;你可以用这种)
ios::app // 增补方式打开文件(与上面的区别是 不删除文件内容 将数据添加到文件尾部)
ios::nocreate //打开已存在的文件
ios::noreplace //建立新文件
ios::binary // 打开二进制文件
部分程序如:
ifstream in;
in.open("文件名",ios::in )
int i;
char ch;
while(in.get(ch))
{
if(按照某种规律)
{
ofstream out;
out.open("文件名",ios::out);//按照需求 使用不同的打开方式
out.put(ch);
}
}
至于什么自动的,可能我就能考虑到这吧。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-07
ios::out 不存在则建立 然后rename下 如果你文件的名字都没有规律 那就随机好了
第2个回答  推荐于2018-03-21
参考代码如下:
HANDLE hFile = CreateFile( lpFileName,
GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL );
if ( hFile )
{
HGLOBAL hMem = NULL;
GetHGlobalFromStream( pStream, &hMem );//
LPVOID lpData = GlobalLock( hMem );

DWORD dwBytesWritten;
bResult = WriteFile( hFile, lpData, lBytesStreamed, &dwBytesWritten, NULL );
bResult &= ( dwBytesWritten == (DWORD)lBytesStreamed );

// clean up
GlobalUnlock(hMem);
CloseHandle(hFile);
第3个回答  2011-01-07
ofstream out("1.txt");
文件不存在的时候就会自动创建文件

参考资料:http://baike.baidu.com/view/1679747.htm

第4个回答  2011-01-07
使用windows API CreateFile.或者File*指针
相似回答