目前做一个项目需要高速存储下来。实测5M只需0.003s。我看了一下PCIE也是这种方式存储的。之前用QT的方式写文件,大概需要0.05s,还是c语言的写法快得多
unsigned char *p = new unsigned char[SIZE];
//对p进行赋值操作,但是有要求必须是无符号char类型的数据,如果不是需要自定义转换为8位+低8位,
//比如65535可以转换为高八位0XFF和低八位0XFF。具体怎么定义自己决定。最小单元必须为unsigned char类型的数据。
//5M 0.003s 这种方式是C语言存储,优点是速度快,缺点是写出的文件是ascii的字符形式,超过128的字符就成为乱码
//但是可通过程序转换
Write(filePath,(char *)p,SIZE);
BOOL ReadThread::Write(QString filePath,char *buffer, DWORD contentLen)
{
HANDLE pFile;
char *tmpBuf;
DWORD dwBytesWrite,dwBytesToWrite;
pFile = CreateFile(filePath.toStdWString().data(),GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS, //总是创建文件
FILE_ATTRIBUTE_NORMAL