学习笔记2

对于C语言中的文件操作:

  1. 字符读写:

    • getc:从文件中读取一个字符。
    • putc:将一个字符写入文件。
  2. 行读写:

    • fgets:从文件中读取一行文本。
    • fputs:将一行文本写入文件。
    • getline:动态地读取一行文本。
  3. 任意位置读写:

    • fseek:定位文件指针到指定位置。
    • ftell:获取当前文件指针的位置。
    • rewind:将文件指针重新指向文件起始位置。

除了上述操作,还有其他常用的文件操作函数,如打开和关闭文件、读写整个文件等:

  • fopen:打开文件。
  • fclose:关闭文件。
  • fprintf:将格式化的数据写入文件。
  • fscanf:从文件中读取格式化的数据。
  • fread:从文件中读取指定数量的数据。
  • fwrite:将指定数量的数据写入文件。
  • remove:删除文件。

在linux终端中进行简单的文件操作:

echo 'content' >> file_name : 将内容插入到文本末尾或创建文件插入

less file_name :打开文本文件,并允许逐页浏览:

 

文本文件和二进制文件转换:

将二进制文件转换为文本文件的终端代码:

base64 -w 0 inputfile > outputfile.txt

inputfile是要转换的二进制文件名,outputfile.txt是转换后的文本输出文件名。-w 0选项用于指定行宽为零,以便输出的base64编码字符串在一行中显示。

base64 -d inputfile.txt > outputfile

-d选项用于告诉base64命令进行解码操作。

  • 文本文件转换为二进制文件时,原始文件的权限和元数据可能无法还原。此外,对于非纯文本文件(如图像或音频文件),转换为文本文件并将其还原为二进制文件可能会导致数据损失或不完全还原。

 以上是基于base64编码文件才能实现的转换,在操作过程中遇到问题报错:base64:输入无效,询问GPT:

 

然而在终端实现二进制文件转换可以直接用cat工具,附加自己实现的代码

内容一样没问题,格式上再代码输出上有差异

 

苏格拉底挑战一下:

1.文件操作

1. "r"只读方式打开文件,文件必须存在。

2. "w"只写方式打开文件,文件存在则清空文件。

3. "a"追加方式打开文件,文件存在则在文件末尾追加内容。

4. "r+"读写方式打开文件,文件必须存在。

5. "w+"读写方式打开文件,文件存在则清空文件。

6. "a+"读写方式打开文件,文件存在则在文件末尾追加内容。

2.有关文件编码和进制转换

文件编码在文件处理中起到至关重要的作用。它决定了如何正确地读取和解释文件中的字符数据。通过适当的文件编码,计算机可以理解和处理文件中的文本内容。

 

学习笔记:

gdb相关

学习linux系统中的一些笔记(持续更新)

posted @ 2023-09-17 12:29  周意凯  阅读(14)  评论(0编辑  收藏  举报