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

(0)

相关推荐

  • C语言文件操作函数freopen详细解析

    今天做USACO  用到了文件的操作. 之前做USACO只是格式化的些 写  freopen("xxx.in","r",stdin)  和"freopen("xxx.out","w",stdout)" 百度百科上是这么介绍的: 函数名: freopen 功 能: 替换一个流,或者说重新分配文件指针,实现重定向.如果stream流已经打开,则先关闭该流.如果该流已经定向,则freopen将会清除该定向.此函数

  • C语言文件操作函数大全(超详细)

    fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const char * mode);函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态.mode有下列几种形态字符串:r 打开只读文件,该文件必须存在.r+ 打开可读写的文件,该文件必须存在.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件.w

  • C语言文件操作中 fgets与fputs 函数详解

    C语言文件操作中 fgets.fputs 函数详解 先给出api fgets 语法: #include <stdio.h> char *fgets( char *str, int num, FILE *stream ); 函数fgets()从给出的文件流中读取[num - 1]个字符并且把它们转储到str(字符串)中. fgets()在到达行末时停止,在这种情况下,str(字符串)将会被一个新行符结束. 如果fgets()达到[num - 1]个字符或者遇到EOF, str(字符串)将会以nu

  • C语言 文件操作解析详解及实例代码

    C语言文件操作解析 在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作.下面介绍一下这些操作中涉及到的函数. 一.移动位置指针的函数 rewind函数和fseek函数,这两个函数的原型是: void rewind(FILE *fp);     将位置指针移动到文件首 int fseek(FILE *fp,long int offset,int origin);   将位置指针移动到距离origin的offset字节数的位置 其中对于fseek函数中的参数,origin为起始点,offs

  • c语言文件读写示例(c语言文件操作)

    方法: 复制代码 代码如下: long filesize(char* filename);char* file_get_contents(char* filename);void file_put_contents(char* filename, char* data); 示例: 复制代码 代码如下: #include <stdio.h>#include <stdlib.h>#include <string.h>long filesize(char* filename)

  • C语言文件操作 fopen, fclose, mkdir详解

    1.建文件夹 int _mkdir(const char *path,mode_t mode); 函数名: _mkdir 功 能: 建立一个目录 用 法: int _mkdir( const char *dirname ); 头文件库:direct.h 返回值:创建一个目录,若成功则返回0,否则返回-1 ===================================================== 2.打开文件fopen() 函数功能: 打开一个文件 函数原型:FILE * fope

  • 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,      

  • C 语言程序结构示例解析

    C 程序结构 在我们学习 C 语言的基本构建块之前,让我们先来看看一个最小的 C 程序结构,在接下来的章节中可以以此作为参考. C Hello World 实例 C 程序主要包括以下部分: 预处理器指令 函数 变量 语句 & 表达式 注释 让我们看一段简单的代码,可以输出单词 "Hello World": #include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("Hello, World! \n&qu

  • c#语言程序构建基块

    目录 1.成员 2.辅助功能 3.字段 4.方法 4.1参数 4.2方法主体和局部变量 4.3静态和实例方法 4.4虚方法.重写方法和抽象方法 4.5方法重载 5.其他函数成员 5.1构造函数 5.2"属性" 5.3索引器 5.4事件 5.5运算符 5.6终结器 6.表达式 7.语句 上文c#语言入门类型和成员中介绍的类型是使用以下构建基块生成的:成员*_.表达式和语句_*. 1.成员 class 的成员要么是静态成员,要么是实例成员. 静态成员属于类,而实例成员则属于对象(类实例).

  • Go语言实现枚举的示例代码

    在编程领域里,枚举用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错误码或者状态机.拿一个实体对象的状态机来说,它通常与这个对象在数据库里对应记录的标识状态的字段值相对应. 在刚开始学编程的时候,你一定写过,至少见过直接使用魔术数字进行判断的代码.啥叫魔术数字呢,举个例子,要置顶一个文章的时候先判断文章是不是已发布状态. if (article.state == 2) {    // state 2 代表文章已发布 } 假如我们的代码里没有注释,或者等我们项目的代码里充斥着这些魔术数字

  • C语言进阶栈帧示例详解教程

    目录 正片开始 栈有什么用? 寄存器 main函数创建 局部变量创建 函数部分 形参与实参 正片开始 今天来讲讲我对栈帧创建与销毁的拙见.理解什么是栈帧首先知道什么是栈: 在数据结构中, 栈是限定仅在表尾进行插入或删除操作的线性表.栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据. 栈有什么用? 在计算机系统中,栈也可以称之为栈内存是一个具有动态内存区域,存储函数内部(包括main函数)的局部变量和方法调用和函数参数值,

  • 介绍C语言程序中的注释等辅助语句如何使用

    目录 一.程序中的辅助语句(上) 二.程序中的辅助语句(下) 一.程序中的辅助语句(上) C语言中的注释 注释是帮助理解程序而编写的文本 注释本身对程序功能无任何贡献注释分为单行注释和多行注释 注释分为单行注释和多行注释 注意:单行注释不一定被编译器支持 注释的语法 单行注释 从 // 开始到当前行结束的所有文本(注释范围只涉及一行文本) 单行注释中可以重复出现 // (无特殊含义,被看作注释文本) 多行注释 从 */ 开始到 */ 结束的所有文本(注释范围可以涉及多行文本) 多行注释不支持嵌套

  • go语言编程实现递归函数示例详解

    目录 前言 函数中的 return 递归的问题 总结 前言 本篇文章主要是记录一下在 GScript 中实现递归调用时所遇到的坑,类似的问题在中文互联网上我几乎没有找到相关的内容,所以还是很有必要记录一下. 在开始之前还是简单介绍下本次更新的 GScript v0.0.9 所包含的内容: 支持可变参数 优化 append 函数语义 优化编译错误信息 最后一个就是支持递归调用 先看第一个可变参数: //formats according to a format specifier and writ

  • go语言的变量定义示例详解

    目录 前言 定义单个变量 定义多个变量 定义相同类型的多个变量 变量的初始化 变量类型的省略 var关键字的省略(简短声明) 全局变量与局部变量 特别的变量名 未使用变量的限制 常量 前言 特别说明: 本文只适合新手学习 这篇文章带我们入门go语言的定义变量的方式,其实和javascript很相似,所以特意总结在此. 在go语言中,也有变量和常量两种,首先我们来看变量的定义,定义变量我们分为定义单个变量和多个变量. 本文知识点总结如下图所示: 定义单个变量 在定义单个变量中,我们通过var关键字

  • C语言实现单元测试的示例详解

    目录 前沿 使用前提 测试框架如下 测试方法编写文件 验证 前沿 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等.总的来说,单元就是人为规定的最小的被测功能模块.单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试. 在网上找了找C语言都没有类似j

  • Go语言程序查看和诊断工具详解

    想必Java 的开发者没有不知道或者没用过 jps 这个命令的,这个命令是用来在主机上查看有哪些 Java 程序在运行的. 我刚用 Go 语言程序的时候也很苦恼,我部署在公司服务器上的 Go 程序,其他的同事由于不清楚就经常找不到. 那么 Go 语言有没有像 jps 这样的工具呢?当然有,不仅有,而且还是 Google 自己出品的,官方认证(这种问题 Google 不可能自己想不到啊).名称也跟 jps 很像,叫 gops. 安装 gops 并不包含在官方安装包中,不属于标准工具.需要手动获取.

随机推荐