C++ 日志文件不入缓存,直接写入磁盘

 注意:写入启动时,如果发现日志文件大小没有改变,文件夹中的刷新,刷新没刷出来,就等等再刷新,也可以打开文件,会发现已经写入,打开文件不会影响文件的写入,只是不会文件实时刷新,重新打开,会发现追加写入成功!

参考链接:c++ 写入文件不频繁打开_C/C++编程笔记:你不知道的windows保存文件的坑_不妧的博客-优快云博客

使用CreateFile读写文件_Tut-优快云博客_createfile

#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <string>
#include <Windows.h>

using namespace std;



void main()
{
	HANDLE hfile = CreateFileA("H:\\1.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_FLAG_WRITE_THROUGH, NULL);
	
	if (SetFilePointer(hfile, 0, NULL, FILE_END) == -1)
	{
		cout << "SetFilePointer Error!" << endl;
		return;
	}

	char buff[256] = "5666666666666666666666666666666666\n";
	DWORD dwrite;
	while (1)
		WriteFile(hfile, &buff, strlen(buff), &dwrite, NULL);

	CloseHandle(hfile);//关闭文件
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值