c语言程序设计文件操作方法示例(CreateFile和fopen)_C 语言

实例:

(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("无法打开充值卡文件");

时间: 2024-09-18 12:55:25

c语言程序设计文件操作方法示例(CreateFile和fopen)_C 语言的相关文章

使用VC6.0对C语言程序进行调试的基本手段分享_C 语言

(1)设置固定断点或临时断点 所谓断点,是指定程序中的某一行,让程序运行至该行后暂停运行,使得程序员可以观察分析程序的运行过程中的情况.这些情况一般包括: ①在变量窗口(Varibles)中观察程序中变量的当前值.程序员观察这些值的目的是与预期值对比,若与预期值不一致,则此断点前运行的程序肯定在某个地方有问题,以此可缩小故障范围.例如以下程序是计算cos(x)并显示,运行时发现无论x输入为多少,结果都是0.046414. 复制代码 代码如下: #include <stdio.h>#includ

C语言中实现KMP算法的实例讲解_C 语言

一般的算法为什么这么低效呢?那是因为主串指针回溯情况过多: 主串指针如果不回溯的话,速度就会加快,那我们就会想: 如何让主串指针不回溯? KMP算法就是解决了这个问题,所以速度变得更快速了. 它是这样子的: 用一个数组:next[] 求得失配时的位置,然后保存下来. 要说清楚KMP算法,可以从朴素的模式匹配算法说起.  朴素的模式匹配算法比较容易理解,其实现如下    int Index(char s[], char p[], int pos) { int i, j, slen, plen; i

C语言关键字auto与register的深入理解_C 语言

关键字概述很多朋友看到这儿可能会有疑问,往往其它讲C语言的书籍都是从HelloWorld,数据类型开始C语言学习的,为什么我们要从C语言的关键字开始呢?关于这点,我有两点需要说明:本章节面向的读者对象是有一定的C语言基础知识的朋友(至少应该学习过大学里的C语言程序设计等类似的课程)本章节结合了作者多年嵌入式工作.研究.教学经验而作,由计算机底层硬件到上层软件设计融会贯通,中间有大量的深入浅出的示例 在我对C语言进行培训的时候,往往就是从C语言的关键字入手,因为C语言的关键字蕴含了C语言的全部的词

对C语言编程标准以及声明的基本理解_C 语言

c语言标准1978年,丹尼斯·里奇(Dennis Ritchie)和Brian Kernighan合作出版了<C程序设计语言>的第一版.书中介绍的C语言标准也被C语言程序设计师称作"K&R C",第二版的书中也包含了一些ANSI C的标准.K&R C主要介绍了以下特色: 结构(struct)类型 长整数(long int)类型 无符号整数(unsigned int)类型 把运算符=+和=-改为+=和-=.因为=+和=-会使得编译器不知道用户要处理i = +1

C语言中的各种文件读写方法小结_C 语言

前言    找工作的时候,曾经用C语言练习过一段时间的算法题目,也在几个还算出名的OJ平台有过还算靠谱的排名.之前以为C语言只限于练习一下算法,但是工作中的一个问题解决让我意识到C语言的用处还是非常广泛的.下面介绍一下,如果用C语言来操作文件保存一个字符串,和读取一个字符串.算法中往往都是printf来打印出结果,但是真实工作中往往通过文件来进行一些持久化的存储工作. C-File I/O    文件的I/O操作是每一门语言的重点,因此这里我先来介绍一下如何用C语言去进行文件的I/O操作. 文件

详解C语言中的#define宏定义命令用法_C 语言

#define命令#define定义了一个标识符及一个串.在源程序中每次遇到该标识符时,均以定义的串代换它.ANSI标准将标识符定义为宏名,将替换过程称为宏替换.命令的一般形式为: #define identifier string 注意: 1.该语句没有分号.在标识符和串之间可以有任意个空格,串一旦开始,仅由一新行结束. 2.宏名定义后,即可成为其它宏名定义中的一部分. 3.宏替换仅仅是以文本串代替宏标识符,前提是宏标识符必须独立的识别出来,否则不进行替换.例如: #define XYZ th

搭建C语言开发环境(Windows平台)汇总_C 语言

新接触C语言,如何进行C语言开发环境的搭建值得思考并整理 一.在Windows平台配置GNU环境 GNU http://www.gnu.org/ 选择以下GNU环境下载安装到C盘:     1.MinGw         官网下载安装 http://www.mingw.org/         本站高速下载安装 http://www.jb51.net/softs/192011.html         将C:\MinGW\msys\1.0\msys.bat 发送到桌面快捷方式         在

C语言计算代码执行所耗CPU时钟周期_C 语言

该代码受乱序执行等影响, 需要sync LARGE_INTEGER _start = { 0 }, _end = { 0 }; __asm{ rdtsc mov dword ptr [_start.LowPart], eax mov dword ptr[_start.HighPart], edx } //your code here __asm{ rdtsc mov dword ptr [_end.LowPart], eax mov dword ptr[_end.HighPart], edx }

C语言 栈的表示和实现详细介绍_C 语言

C语言 栈的表示和实现详细介绍 定义:栈是限定仅在表尾进行插入和删除操作的线性表. 栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表.它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来).栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针. 栈是允许在同一端进行插入和删除操作的特殊线性表.允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom):栈底固定,而栈顶浮动: