`
kofsky
  • 浏览: 201658 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

记几个常见的c文件操作

阅读更多

近用c语言做文件操作比较频繁,记几个常用的操作

获得文件大小:

fseek(fp, 0, SEEK_END);
int fileSize = ftell(fp);
rewind(fp);

读取指定位置的数据块:

fseek( fp,offset,SEEK_SET );
int num_read = fread(buf, 1, length, fp); 

删除文件

int res = access( filename,0 ); // 判断文件是否存在
 if ( res == 0 )
 {
  res = remove( filename );// 删除文件
  return ( res ==0 );
 }

在指定位置写入块数据:

fseek( fp, offset, SEEK_SET );
 num_write = fwrite( buf, 1, n, fp );

打开文件方式中有一个比较特别的,如果 某文件中已经有了一部分数据,你需要继续在上面添加数据,但是是在指定位置添加,也就是说,仍然需要通过 fseek 找到写入位置,然后再 fwrite,这时候需要以 "rb+" 方式打开。而不能以"a"或者"ab+"方式。以"a"方式打开,fseek函数不起作用。

获得文件属性

struct stat st;
  FILE *fp = fopen( filename.c_str(),"rb" );
  if ( !fp )
  { // error
  }
  fstat( fp->_file, &st );

遍历目录

std::string dirspec = dir + "\\*.*";
 struct _finddata_t filefind;
 int done = 0;
 intptr_t handle = 0;
 
 if( ( handle = _findfirst(dirspec.c_str(),&filefind) ) == -1 )
  return IVS_FAIL;

 IVS_RESULT res = IVS_OK, response =IVS_OK;
 while( !(done=_findnext(handle,&filefind)) )  
 {  
  if( !strcmp(filefind.name,"..") || !strcmp(filefind.name,".") )
   continue;  

  AdsFileInfo info;
  if((_A_SUBDIR==filefind.attrib))  
  {              
   info._filename = filefind.name;
   info._fileSize = filefind.size;
   info._atime = filefind.time_access;
   info._ctime = filefind.time_create;
   info._mtime = filefind.time_write;
   info._isdir = true;
  }  
  else    
  {  
   std::string tmpFilename = dir + "\\";
   tmpFilename += filefind.name;
   res = getFileInfo( tmpFilename, info );
   response = (!SUCCESS(res))?res: response;
  }
  list.push_back( info );
 }          
 _findclose(handle);  

分享到:
评论

相关推荐

    c语言文件操作

    ### C语言文件操作详解 #### 1. 文件的打开与关闭 在C语言中,进行文件操作是一项基本技能。为了确保文件的安全性以及资源的有效利用,任何文件在进行读写等操作前都需要先通过特定的函数打开,在使用完毕后也需要...

    c语言文件操作函数

    在进行C语言文件操作时,通常要涉及到几个基本步骤,包括打开文件、读写文件、关闭文件等。C语言提供了丰富的文件操作函数,主要包括以下几类: 1. 文件打开与关闭函数 - `fopen()`:用于打开文件。 - `fclose()`:...

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

    C语言文件操作解析  在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作。下面介绍一下这些操作中涉及到的函数。 一.移动位置指针的函数  rewind函数和fseek函数,这两个函数的原型是:  void rewind...

    【C语言】二进制文件操作问题

    在C语言中,处理二进制文件主要涉及以下几个关键步骤: 1. **打开文件**:使用`fopen`函数以二进制模式打开文件,如`"rb"`用于读取,`"wb"`用于写入,`"ab"`用于追加。 ```c FILE *fp = fopen("filename.bin", ...

    Linux操作系统下常见文件类型分析

    Linux 操作系统下常见文件类型分析 Linux 操作系统下常见文件类型可以分为多种,包括压缩和打包文件、普通文件格式、系统文件、程序和脚本文件等。 压缩和打包文件是指使用某种压缩算法或打包工具将多个文件或...

    c语言文件读写操作代码

    ### C语言文件读写操作详解 #### 一、概述 在C语言中,文件操作是一项非常重要的功能,它允许程序与外部数据交互。文件读写是文件操作中最基础也是最常用的操作之一。本文将详细介绍如何在C语言中执行基本的文件...

    C语言中文件操作的基本操作.pdf

    在C语言中,文件操作主要包括以下几个步骤: 1. **文件的打开**:文件打开实际上是为文件创建一个信息区和文件缓冲区。信息区用于存储文件的相关信息,如文件名、位置等;缓冲区则是程序读写文件的临时存储区域。...

    几个常见的C语言面试题分析

    9. **文件操作**:C语言提供了一系列的文件操作函数(fopen, fclose, fread, fwrite, fseek, ftell等),面试者需要了解如何读写文件,定位文件指针,以及处理文件错误。 10. **标准库和库函数**:面试题可能涵盖、...

    有关C语言中的文件操作如文件如何读,写,定位,拷贝等

    ### C语言中的文件操作 在C语言中,文件操作是一项重要的功能,它允许程序与外部数据进行交互。本文将详细探讨C语言中的...通过本文的学习,相信你已经掌握了C语言文件操作的基本技能,可以进一步探索更高级的主题。

    几百个c语言常见源程序(含课后习题)

    这个压缩包包含了几百个C语言的常见源程序,涵盖了各种基础和进阶的编程概念,是学习C语言和巩固编程技能的宝贵资源。下面我们将深入探讨其中可能涉及的知识点。 1. **基础语法**:C语言的基础包括变量定义、数据...

    c语言文件读写操作代码.docx

    在深入了解示例代码之前,我们先来了解一下与文件操作相关的几个基础概念: - **文件指针**:`FILE *` 类型的指针,用于指向文件。 - **文件打开模式**: - `"w"`:写入模式,若文件存在则会清除原有内容;若不...

    c语言文件读写操作代码的简单分享

    3. **文件读写函数**: `fopen`, `fclose`, `fputs`, `fgets`, `fprintf` 和 `perror` 是几个常用的文件操作函数。 #### 三、文件写入操作 **代码示例**: ```c #include int main() { FILE *fp; char str[] = ...

    c语言文件读写操作代码简单分享.docx

    本文将详细介绍C语言中文件读写的几个关键概念及其实现方法,包括文件的打开与关闭、写入、读取、追加以及复制等操作。 #### 二、文件的基本操作 ##### 1. 包含必要的头文件 在进行文件操作之前,首先需要包含`...

    c语言文件读写操作代码大全.doc

    文件操作通常包括以下几个步骤: 1. **打开文件**:使用`fopen`函数打开文件。 2. **读写文件**:根据需要调用相应的读写函数。 3. **关闭文件**:使用`fclose`函数关闭文件。 #### 三、打开文件 打开文件是文件...

    c语言文件读写操作代码 (2).txt

    这些基本的文件操作在进行C语言程序开发时非常常见,尤其是在需要处理持久化数据的场景中。需要注意的是,在实际使用过程中,文件路径和权限问题是很重要的,正确的文件路径和合适的权限设置可以避免程序在文件操作...

    C++ 的各种文件读写操作总结

    本文将详细介绍几种不同的文件操作方法,包括基于C语言的传统方法、基于C++的方法、基于Windows API的方法、基于C++Builder库的方法以及一些特殊的文件操作技巧。 #### 壹、基于C的文件操作 ##### 1. 流式文件操作...

Global site tag (gtag.js) - Google Analytics