c语言程序设计文件操作方法示例(CreateFile和fopen)
实例:
(1)第一种方法CreateFile
#include "stdafx.h"
#include <windows.h>
void main(int argc, char* argv[])
{
HANDLE hDevice = CreateFile("C://S.txt",
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hDevice == INVALID_HANDLE_VALUE)
{
printf("Failed to obtain file with %d error code !/n",GetLastError());
return;
}
DWORD dwSize = GetFileSize(hDevice,NULL);
printf("%d /n",dwSize);
char chBuffer[10] = "5469";
DWORD dwWriteSize = 0;
BOOL bRet = WriteFile(hDevice,chBuffer,4,&dwWriteSize,NULL);
if(bRet)
{
printf("write file success /n");
}
FlushFileBuffers(hDevice); //将缓冲区数据写入磁盘
LONG IDistance = 0;
DWORD dwPtr = SetFilePointer(hDevice,IDistance,NULL,FILE_BEGIN); //调整文件指针到文件开头
DWORD dwReadSize = 0;
bRet = ReadFile(hDevice,chBuffer,10,&dwReadSize,NULL);
if (bRet)
{
printf("chbuffer is %s /n",chBuffer);
}
CloseHandle(hDevice);
return ;
}
(2)第二种方法流文件操作FILE
char datain[101];
FILE *fp_sys;
fp_sys = fopen("要打开的文件名", "rb"); //第二个参数为打开方法,r代表读,b代表二进制方式
if(fp_sys == NULL) {
AfxMessageBox("无法打开充值卡文件");
相关文章
使用Qt/C++实现WGS84,高德GCJ-02与百度BD-09坐标系间相互转化
这篇文章主要为大家详细介绍了如何使用Qt实现WGS84、高德GCJ-02与百度BD-09坐标系间相互转化,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下2023-07-07C++实现LeetCode(309.买股票的最佳时间含冷冻期)
这篇文章主要介绍了C++实现LeetCode(309.买股票的最佳时间含冷冻期),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-08-08
最新评论