嵌入式学习之Linux 文件I/O (2)

文章介绍了Linux系统中标准输入输出的概念,并提供了使用标准I/O进行键盘输入和字符串输出的练习。接着讲解了如何通过编程实现文件复制,强调了在复制过程中处理已存在文件的注意事项。此外,还提到了文件内容修改的方法以及fopen、fclose、fread和fwrite等标准I/O函数的使用。最后,文章讨论了将结构体写入和读出文件的示例。
摘要由CSDN通过智能技术生成

1.Linux默认的文件描述符:STDIN_FILENO(标准输入(键盘))  0  STDOUT_FILENO(标准输出)  1

                                            STDERR_FILENO(标准错误)  2

练习:使用标准I/O,在键盘输入字符串,原样输出

练习:通过文件编程实现Linux的mycp指令

思路:a)打开src.c文件  b)计算src.c文件的字数,并复位光标  c)读取src.c文件,并保存到readbuf中  d)创建des.c文件,并设置文件权限  e)将readbuf的内容写入des.c文件   f)关闭两个文件

main函数的形参:      argc代表命令组成的个数   例如:cp  a.c   b.c   argc=3

      argv存放对应的命令字符串的数组  例如:cp  a.c   b.c   argv[0]=cp    argv[1]=a.c  argv[2]=b.c  

注意:使用lseek命令计算文件大小后,要复位光标到文件头

注意!!!:文件复制过程中有bug,若创建的文件本身存在且里面有内容,则会出现内容覆盖后任然有多余的原码,故在打开/创建文件时,应附加上一句flags:O_TRUNC,清空里面的内容,再执行写入。

 2.文件编程修改文件指定内容

a)打开目标文件  b)保存文件的内容到readbuf  c)通过strstr函数匹配对应字符串  d)修改对应位置的数据   e)复位光标  f)将数据程序写入目标文件

 3.标准I/O操作

1.打开/创建    fopen(文件路径pname,文件权限type)   返回指向文件流的指针

使用该函数要包含头文件  #include <stdio.h>

type:

2.关闭     fclose(FLIE *fp) 

使用该函数要包含头文件  #include <stdio.h>

3.读取      fread(存放字符的空间,每次发送字符长度,发送次数,文件流指针)

    写入     fwrite(存放字符的空间,每次发送字符长度,发送次数,文件流指针)

使用该函数要包含头文件  #include <stdio.h>

练习:一个程序将结构体写入文件中,另一个文件读取结构体

 

 

4.标准库函数补充

输出一个字符  fputc('a',fp)    //输出字符a       char *srt="hello"  fputc(*str,fp)  //使用for输出str字符串

获取一个字符

 

判断是否到达文件尾    feof(fp)    //到达文件尾巴返回非零数,反之返回0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值