近用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语言文件操作是进行数据持久化存储和读取的重要手段,主要涉及到以下几个核心函数:fopen、fclose、fprintf以及fscanf等。 fopen函数用于打开一个文件,并返回一个指向FILE对象的指针,这是后续所有文件操作的入口...
### C语言文件操作详解 #### 1. 文件的打开与关闭 在C语言中,进行文件操作是一项基本技能。为了确保文件的安全性以及资源的有效利用,任何文件在进行读写等操作前都需要先通过特定的函数打开,在使用完毕后也需要...
在进行C语言文件操作时,通常要涉及到几个基本步骤,包括打开文件、读写文件、关闭文件等。C语言提供了丰富的文件操作函数,主要包括以下几类: 1. 文件打开与关闭函数 - `fopen()`:用于打开文件。 - `fclose()`:...
C语言文件操作解析 在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作。下面介绍一下这些操作中涉及到的函数。 一.移动位置指针的函数 rewind函数和fseek函数,这两个函数的原型是: void rewind...
C语言中进行文件读写操作的基本知识点主要包括以下几个方面: 1. 文件指针FILE的声明和使用。在C语言中,通过包含头文件stdio.h,声明一个FILE类型的变量来操作文件。这个变量被称为文件指针,用于指向当前打开的...
在C语言中,处理二进制文件主要涉及以下几个关键步骤: 1. **打开文件**:使用`fopen`函数以二进制模式打开文件,如`"rb"`用于读取,`"wb"`用于写入,`"ab"`用于追加。 ```c FILE *fp = fopen("filename.bin", ...
Linux 操作系统下常见文件类型分析 Linux 操作系统下常见文件类型可以分为多种,包括压缩和打包文件、普通文件格式、系统文件、程序和脚本文件等。 压缩和打包文件是指使用某种压缩算法或打包工具将多个文件或...
### C语言文件读写操作详解 #### 一、概述 在C语言中,文件操作是一项非常重要的功能,它允许程序与外部数据交互。文件读写是文件操作中最基础也是最常用的操作之一。本文将详细介绍如何在C语言中执行基本的文件...
在C语言中,文件操作主要包括以下几个步骤: 1. **文件的打开**:文件打开实际上是为文件创建一个信息区和文件缓冲区。信息区用于存储文件的相关信息,如文件名、位置等;缓冲区则是程序读写文件的临时存储区域。...
在使用C语言编写程序以实现文件...概括来说,使用C语言实现文件分割是一个涉及文件操作、数据校验、错误处理、用户交互和算法逻辑等多个方面的过程。开发者需要细致考虑程序的每一个环节,以确保程序的正确性和高效性。
9. **文件操作**:C语言提供了一系列的文件操作函数(fopen, fclose, fread, fwrite, fseek, ftell等),面试者需要了解如何读写文件,定位文件指针,以及处理文件错误。 10. **标准库和库函数**:面试题可能涵盖、...
### C语言中的文件操作 在C语言中,文件操作是一项重要的功能,它允许程序与外部数据进行交互。本文将详细探讨C语言中的...通过本文的学习,相信你已经掌握了C语言文件操作的基本技能,可以进一步探索更高级的主题。
这个压缩包包含了几百个C语言的常见源程序,涵盖了各种基础和进阶的编程概念,是学习C语言和巩固编程技能的宝贵资源。下面我们将深入探讨其中可能涉及的知识点。 1. **基础语法**:C语言的基础包括变量定义、数据...