linux下C语言文件操作相关函数

  • 读取(open)文件并写入(write)另一个文件
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fcntl.h>.h>
int main()
{
    int fd1=open("/home/cpc/Documents/diary",O_RDWR);
    printf("%d\n",fd1);
    int fd2=open("/home/cpc/Documents/anothernote",O_WRONLY|O_CREAT,0664);
    char buf[4096];
    int len=read(fd1,buf,sizeof(buf));
    while(len>0)
    {
        write(fd2,buf,len);
        len=read(fd1,buf,sizeof(buf));
    }
    return 0;
}
  • lseek动态扩展文件
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fcntl.h>.h>
int main()
{
    int fd1=open("/home/cpc/Documents/diary",O_RDWR|O_CREAT,0664);
    if(fd1==-1)
    {
        perror("file read error");
        exit(1);
    }
    lseek(fd1,1000,SEEK_END);//让指针扫荡到文件末尾,再偏移1000个字节,实际上就是动态扩展
    return 0;
}

.......然而通过linux shell命令ll查看文件信息,文件大小并未改变

.......原来还得添加一个字符作为收尾

#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fcntl.h>.h>
int main()
{
    int fd1=open("/home/cpc/Documents/diary",O_RDWR|O_CREAT,0664);
    if(fd1==-1)
    {
        perror("file read error");
        exit(1);
    }
    lseek(fd1,1000,SEEK_END);
    write(fd1,"c",1);
    close(fd1);
    return 0;
}

原文地址:https://www.cnblogs.com/saintdingspage/p/12154527.html

时间: 2024-11-06 17:03:32

linux下C语言文件操作相关函数的相关文章

Linux下C编程-----文件操作(1) 通过系统调用简单操作标准输入、标准输出、标准错误

Linux的 C系统调用操作  ,下面我们就来练习下 简单的系统调用操作 read系统调用测试 /************************************************************************* > File Name: read.c > Author: > Mail: > Created Time: Tue 10 Feb 2015 01:23:58 AM PST **********************************

Linux下 C语言 Mysql操作和字符集设置

一.C语言 Mysql操作 首先安转libmysql库. # sudo apt-get install libmysql++-dev 把MySQL的库拷贝到公共库中. # sudo cp -ri /usr/lib/mysql/* /usr/lib/ 配置MySQL库. # mysql_config --cflags --libs 二.创建数据库和表 启动终端,输入以下命令,进入mysql. # mysql -u username -p 创建一个数据库. mysql > create databa

Linux-(2)Linux下的基本文件操作

在linux下一切都是文件,目录是文件,硬件也是文件.所以基础的文件操作就尤其重要. 1. 列出目录的内容: ls <目录名>  不加目录名列出当前目录 参数: -a  显示所有文件(包括隐藏文件) -l  显示详细信息 -R  递归显示子目录结构 -ld  显示目录和链接信息 2. 查看文件信息: file <文件名> 3. 切换目录: cd <路径> ".."  上一级目录 "."  当前目录 "~"  当

LINUX下C语言编程调用其他函数、链接头文件以及库文件

LINUX下C语言编程经常需要链接其他函数,而其他函数一般都放在另外.c文件中,或者打包放在一个库文件里面,我需要在main函数中调用这些函数,主要有如下几种方法: 1.当需要调用函数的个数比较少时,可以直接在main函数中包含该文件,比如一个文件夹下包含add.c和main.c文件: 方法一: 文件add.c定义两个整数相加的函数,code如下: #include <stdio.h> #include <math.h> int add(int a,int b) { int z;

Linux文件操作相关函数

一.整体大纲 st_mode整体介绍: st_mode详细介绍: 二. Linux文件操作相关函数 1. stat 作用:获得文件信息,也可以获取文件大小. 头文件 #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> 函数原型 int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); i

c语言文件操作函数

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

Linux下的目录扫描操作函数使用实践

[文章摘要] 本文以实际的C源程序为例子,介绍了Linux下的目录扫描函数(scandir)的使用方法,为相关开发工作的开展提供了有益的参考. [关键词] C语言  Linux  目录扫描  makefile  scandir 一.scandir命令简介 scandir函数的声明为: int scandir(const char *dir, structdirent ***namelist, int (*filter) (const void *b), int ( * compare )( co

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

C语言文件操作函数大全(超详细) 作者: 字体:[增加 减小] 类型:转载 本篇文章是对C语言中的文件操作函数进行了详细的总结分析,需要的朋友参考下 fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const char * mode);函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态.mode有下列几种形态字符串:r 打开只读文件,

UNIX/Linux下C语言的学习路线

一.工具篇 “公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具. 1.操作系统    在UNIX或Linux系统中学习C很方便,所以在开始您的学习旅程前请先选择一个UNIX或Linux操作系统,目前可供个人免费使用的UNIX或Linux系统有FreeBSD.RedHat Linux.SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等. 如果您一直使用Window