首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言文件操作

⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或者输出内容的⽂件。 1.2文件名 ⼀个⽂件要有⼀个唯⼀的⽂件标识,以便⽤⼾识别和引⽤。...1.4文件缓冲区 从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才⼀起送到磁盘上。...⼊函数 所有输⼊流 fputc 字符输出函数 所有输出流 fgets 文本行输入函数 所有输⼊流 fputs 文本行输出函数 所有输出流 fscanf 格式化输⼊函数 所有输⼊流 fprintf 格式化输出函数...fputs将字符串写入流函数从指定的地址(str)开始复制,直到到达结束的空字符('\0')。这个终止的空字符不会复制到流中。...fscanf和fprintf 将这两个函数之间类型和scanf以及printf进行比较:可以发现都是多了FILE*stream,多了一个流,需要通过流来实现前两个函数的作用 fread和fwrite fread

6010

【盟友分享】vim学习之路-vim基本操作

不用鼠标很难受的,大家是不是有同感,不过在我接触学习vim后我的看法彻底被改变了。我就以我的学习经历从一个新手开始,一步一步的为大家带来我的vim学习之路。 如果你不是刚开始学习vim请略过此段。...q 强制退出文件 vim中不同保存退出是有区别的 :x 写入文件并退出(仅当文件被修改时才写入,并更新文件和修改时间;否则不会更新文件修改时间) :wq和ZZ 强制写入并退出(文件没有被修改也强制写入...,并更新文件的修改时间) 操作回退和恢复: u 回退到上一次操作 U 本行改动恢复 ctrl+r 与u操作相反的操作 移动操作: j 下移一行 k 上移一行 h 左移一列 l 右移一列 0...移动到开头 $ 移动到结尾 w 移动到下一个单词开头 e 移动到下一个单词结尾 fx 移动到本行之后第一个出现x字母的位置 tx 移动到本行之后第一个出现x字母的前一个位置 gg 跳到文件首 G 跳到文件尾...nG 移动到第n行,或者用:n也可 { 上一段,}下一段 (空行区分) [ 函数开始,]函数结束(c文件有效) % 跳到匹配的括号处 滚屏操作: CTRL-U使文本向下滚动半屏。

2.1K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    超简单的 VIM 练级攻略

    ——————————正文开始—————————— 你想以最快的速度学习人类史上最好的文本编辑器 VIM 吗?你先得懂得如何在 VIM 幸存下来,然后一点一点地学习各种戏法。...现在,你知道如何在Insert和Normal模式下切换了。...第 1 类:各种插入模式 a→ 在光标后插入 o→ 在当前行后插入一个新行 O→ 在当前行前插入一个新行 cw→ 替换从光标所在位置后到一个单词结尾的字符 第 2 类:简单的移动光标 0→ 数字零...t,→ 到逗号前的第一个字符。逗号可以变成其它字符。 3fa→ 在当前行查找第三个出现的a。 F和T→ 和f和t一样,只不过是相反方向。 ?...C-w>_ (或C-w>|) : 最大化尺寸 (C-w>|垂直分屏) C-w>+ (或C-w>-) : 增加尺寸 ? 结束语 上面是作者最常用的 90% 的命令。

    1.1K30

    vim从安装到熟练,这篇文章就够了

    I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename...4.2 改写插入 c[n]w: 改写光标后1(n)个词。 c[n]l: 改写光标后n个字母。 c[n]h: 改写光标前n个字母。 [n]cc: 修改当前[n]行。...j的含义是grep结束后,结果停在第j项,默认是停在第一项。 vimgrep前面可以加数字限定搜索结果的上限,如 :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。...]]: 跳转到下一个函数块开始,需要有单独一行的{。 []: 跳转到上一个函数块结束,需要有单独一行的}。 ][: 跳转到下一个函数块结束,需要有单独一行的}。...弹出菜单后,按C-f循环选择,当然也可以按 C-n和C-p。 C-x C-p 和C-x C-n -- 用文档中出现过的单词补全当前的词。 直接按C-p和C-n也可以。

    4.7K10

    【C-文件操作】一文教你如何将代码的数据持久化

    2-1文件的分类 2-2文件名 ​编辑2-3文件指针 备注:以下文件操作函数的头文件都是stdio.h  3.文件的打开和关闭 3-1文件的打开 3-2 文件的关闭 4.文件的顺序读写  4-1字符输出函数...,文件的写入-----fputc ​编辑 4-2字符输入函数:文件的读出----fgetc  4-3文本行输出函数,文本的写入---fputs 4-4文本行输入函数:文件的读出---fgets  4-5...备注:以下文件操作函数的头文件都是stdio.h  3.文件的打开和关闭 3-1文件的打开 函数原型:FILE* fopen(const char* filename ,const  char*...= EOF) { printf("%c", ch); }  4-3文本行输出函数,文本的写入---fputs //文件的写入 fputs("hello world",pf); //备注:...这里mode为"w",每次打开文件时会将原来文件的内容进行销毁 //但是这里销毁是针对fopen打开而言的,而不是fputc fputs("XXXXXXXXXXX",pf); 4-4文本行输入函数

    73730

    Linux学习笔记之vim操作指令大全

    I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename在当前位置插入另一个文件的内容...5.2 改写插入 c[n]w: 改写光标后1(n)个词。 c[n]l: 改写光标后n个字母。 c[n]h: 改写光标前n个字母。 [n]cc: 修改当前[n]行。...j的含义是grep结束后,结果停在第j项,默认是停在第一项。 vimgrep前面可以加数字限定搜索结果的上限,如 :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。...]]: 跳转到下一个函数块开始,需要有单独一行的{。 []: 跳转到上一个函数块结束,需要有单独一行的}。 ][: 跳转到下一个函数块结束,需要有单独一行的}。...弹出菜单后,按C-f循环选择,当然也可以按 C-n和C-p。 C-x C-p 和C-x C-n – 用文档中出现过的单词补全当前的词。 直接按C-p和C-n也可以。

    2.8K21

    Linux——vi命令详解

    按段移动光标 在Vi中,一个段被定义为是以一个空白行开始和结束的片段。...插入(Insert)命令 Vi提供了两个插入命令:i和 I。 i命令 插入文本从光标所在位置前开始,并且插入过程中可以使用键删除错误的输入。...最后提一下,如何在文本输入方式时将所输入文本删除。用户使用组合键即可,此时光标将返回插入开始的位置,并且Vi仍处于文本输入方式。...小写u和大写U在具体细节上有所不同,二者的区别在于,大写U命令的功能是恢复到误操作命令前的情况,即如果插入命令后使用U命令,就删除刚刚插入的内容;如果删除命令后使用U命令,就相当于在光标处又插入刚刚删除的内容...c命令 c后紧跟光标移动命令,限定修改内容的范围是从光标当前位置开始到指定的位置为止。命令c中修改文本的范围是由光标位置和光标移动命令二者限定的。

    16.2K22

    Vim的基本使用(一)

    移动到本行第一个非空白字符(n-1) 数字+| => 移动到第n列 f+字符 => 移动到该行右边该字符处 F+字符 => 移动到该行左边该字符处 t+字符 => 移动到该行右边该字符前 T+字符...插入文本 i => 在光标后插入文本 a => 在光标前插入文本 A => 在当前行末插入文本 I => 在当前行的第一个非空白字符前插入文本 o => 在当前行下方开始新行 O => 在当前行上方开始新行...复制与移动 Y => 复制光标至行尾 yy => 复制光标所在行 y+操作 => 复制操作覆盖的内容 p => 粘贴至光标后 P => 粘贴至光标前 gp => 粘贴至光标后并光标后移 gP =>...修改文本 数字+r+字符 => 用该字符替换n个字符 R => 进入替换模式 S => 删除光标所在行并进入插入模式 cc => 删除光标所在行并进入插入模式 c^ => 删除光标至行首并进入插入模式...c$ => 删除光标至行尾并进入插入模式 cw => 删除光标所在单词并进入插入模式(不包括词尾空格) ce => 同上 C => 删除光标至行尾并进入插入模式(n-1) s => 删除光标所在字符并进入插入模式

    1.5K30

    vim简单使用教程

    ——————————正文开始—————————— 你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。...现在,你知道如何在 Insert 和 Normal 模式下切换了。...a → 在光标后插入 o → 在当前行后插入一个新行 O → 在当前行前插入一个新行 cw → 替换从光标所在位置后到一个单词结尾的字符 简单的移动光标 0 → 数字零,到行头 ^ → 到本行第一个不是...我们可以开始一些更为有趣的事了。在第三级,我们只谈那些和vi可以兼容的命令。...t, → 到逗号前的第一个字符。逗号可以变成其它字符。 3fa → 在当前行查找第三个出现的a。 F 和 T → 和 f 和 t 一样,只不过是相反方向。 ?

    1.3K30

    vim的快捷键大全

    nJ:连接后面的n行 u:撤销上一次操作 U:撤销当前行的所有修改 ctrl+r:对撤消的撤消 i 在光标前插入 I 在行首插入 a 在光标后插入 A 在行末插入 o:在当前行的下面另起一行...在开始行上输入ma作一个标记a   2. 移动到结束行,输入y’a会复制当前行到标记a之间的文本。d’a会删除。 或者是v进入可视模式,再13G跳转到相应行,y即可。...x处(x可以是任何字符) Fx 向左跳到本行字符x处(x可以是任何字符) tx 和fx相同,区别是跳到字符x前 Tx 和Fx相同,区别是跳到字符x后 # 到与当前单词相同的上一个单词上, *...你键入”qa”开始把一段宏记录入寄存器变量a'中。 按下来你可以象平常一样键入你要的操作, 只是这些操作都会被Vim记录进它命名为a’的宏中, 再次再下”q”键, 就结束了宏`a’的录制。...除了O/o,插入命令(A,a,I,i)接受数值参数,如:5Ihello,然后按ESE键。会在行首输入5个连接的hello nr:替换后面n个字符。 nJ:合并下面的n行(从本行算起)。

    2.1K40

    vi命令详解(转)

    按段移动光标 在Vi中,一个段被定义为是以一个空白行开始和结束的片段。...插入(Insert)命令 Vi提供了两个插入命令:i和 I。 i命令 插入文本从光标所在位置前开始,并且插入过程中可以使用键删除错误的输入。...处,但是由于是从光标所在位置前开始插入,所以这个“!”就被挤到了新插入的文本之后。 I命令 该命令是将光标移到当前行的行首,然后在其前插入文本。...最后提一下,如何在文本输入方式时将所输入文本删除。用户使用组合键即可,此时光标将返回插入开始的位置,并且Vi仍处于文本输入方式。...小写u和大写U在具体细节上有所不同,二者的区别在于,大写U命令的功能是恢复到误操作命令前的情况,即如果插入命令后使用U命令,就删除刚刚插入的内容;如果删除命令后使用U命令,就相当于在光标处又插入刚刚删除的内容

    1.1K40

    Linux之vi和vim编辑器

    指令 说明 i 在当前位置生前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 4.2.2 游标移动 指令 说明 gg 移动到文件头...4.2.4 删除命令 指令 说明 x 删除当前字符 3x 删除当前光标开始向后三个字符 X 删除当前字符的前一个字符。...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...ddp 交换当前行和其下一行 xp 交换当前字符和其后一个字符 ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴 :1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。...Vim教程 在Unix系统上 $ vimtutor 在Windows系统上 :help tutor 录制宏: 按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候

    2K11

    Python入门篇基础语法

    三种注释方式 单行注释 # 为单行注释开始 到本行末尾结束 如: #注释内容 多行注释 英文 三个单或双引号开始 三个单或双引号结束 如: “注释内容” 快捷注释 Ctrl+/ 语句与缩进 语句 在代码中...代码块的首行通常以关键字开始,以冒号( : )结束。 缩进 python 最具特色的语法就是使用 缩进 来表示 代码块 ,不需要使用大括号。 python 一般用 四个空格 就是 tab 来缩进。...正确的缩进方式: 所有的普通语句,顶左开始编写,不需要缩进。 所有的代码块,首行不用缩进,从冒号结束后开始下一行,都要缩进。...用于保存它的值 变量与常量的区别 变量是程序运行过程中,值可以发生改变的量 常量是程序运行过程中,值不会发现变化的量 变量的创建 变量创建小贴士: 在python当中创建变量无需声明类型 每个变量在使用前都必须赋值...语法:print(self, *args, sep=' ', end='\n', file=None) 常用参数: sep:分隔符符号,在值之间插入的字符串,默认为空格 end:字符串追加在最后一个值之后

    63410

    vim 个性化设置

    于是趁着这个机会学习和应用一下vim的自定义函数以及一些常规操作。由于工作使用vim比较偏向于工厂环境,所以本文只针对vim本身做简单配置,未深入研究各插件。 vimscript 简介 ?...以下脚本实现了F1插入shell文件头,F2插入python文件头,F5更新文件头中日期,F6更新工具版本(没有对应版本行时插入版本行) 本文脚本已上传github: https://github.com...的区别 echo 会在脚本结束后消失,message中不可见 echom 会保存输出,在message中查看 内置的 expand() 函数 参数 % 表示当前包括文件名在内的文件路径 参数...:function {name} 删除函数 :delfunction {name} Excute和Normal Excute可以把一个字符串当做Vim的命令来执行 :execute "echo 'Hello...重复上次命令 " C-O> : 依次沿着你的跳转记录向回跳 (从最近的一次开始) " C-I> : 依次沿着你的跳转记录向前跳 " ju(

    1.5K20

    linux基础

    所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。...文本输入模式 在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。...末行命令执行完后,Vi自动回到命令模式 vim基本操作 1.进入插入模式 i: 插入光标前一个字符 I: 插入行首 a: 插入光标后一个字符 A: 插入行未 o: 向下新开一行,插入行首...,相当于 Del X: 删除光标前一个字符,相当于 Backspace dd: 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符 d0: 删除光标前本行所有内容...,不包含光标所在字符 dw: 删除光标开始位置的字,包含光标所在字符 5.撤销 u: 一步一步撤销 Ctr-r: 反撤销 6.文本移动 >>: 文本行右移 本行左移 7.复制粘贴

    2K50

    一篇就学会vim

    四、Vim语法 4.1 ⭐️ vim语言的语法规则 动词 + 名词 动词是动作 y 复制 p 粘贴到光标后 P 粘贴到光标前 d 删除文本 D 从光标处,删除改行的末尾 c 删除文本,与d...不同的是–将删除的文本保存在寄存器中,从普通模式进入到插入模式 C 直接删除一行,并进入插入模式 名词是位置 h 左 l 右 j 下 k 上 0 当前行的开始 $ 当前行的末尾 w 下一个单词的开头...string 在本行内光标之后开始搜索,光标停留在字符s上 Fs: focusOn string 在本行内光标之前开始搜索,光标停留在字符s上 ts : focusOn string 在本行内光标之后开始搜索...,光标停留在字符s之前 Ts : focusOn string 在本行内光标之前开始搜索,光标停留在字符s之前 ;: 表示继续 在本行向下搜索下一个 ,: 表示继续 在本行向上搜索上一个 5.2 句子和段落导航...二十、视图、会话和Viminfo 当项目的一些设置、布局、缓冲区在开始设置后,关闭Vim再次进入后原先设置会丢失,这节来学习如何使用视图、会话和 Viminfo 来保存项目’快照’ 本节内容暂时跳过 二十一

    3.4K50

    Linux学习笔记 Day 2~3

    编辑模式   2.1 插入模式:按i即可进入编辑,在光标前开始插入,esc退出   2.2 替换模式: 3....dd:删一行 D/d$:删除光标本行后面 cw和dw一样删除一单词,并进入插入模式  y:复制(v然后jklh选定) yy:复制一行 p:粘贴到当前光标之后 P:粘贴到当前光标之前...i:当前光标前开始编辑 I:当前光标行首开始编辑 a:当前光标后开始编辑 A:当前光标行尾开始编辑 ....,输入79次上次的操作 V:按行选定 v:按字选定 ctrl+v:按列选 xp:交换当前两个字符位置 s:删除当前光标位置字符开始插入 S:删除当前行开始插入 o:当前行下新建空行开始插入...O:当前行上新建空行开始插入 可结合使用,如可加计数器,例子:100dd:删除100行,命令可加数字,指定重复次数,33dd:删除33行;20j:向下移动20行。

    79020

    c语言流水灯程序详细讲解,用c语言编写单片机流水灯程序详解

    电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口,我们这里只用到Pl口,共8个引脚。...01行:声明Delay()延时子函数,该函数有一个无符号整型参数k,同时函数前面的void表明函数不返回函数值。 02行:延时子函数的开始,同时声明两个无符号整型变量i和j。...不过请注意,这里没有象上期的程序一样,把表示函数开始的“{”单独成行,而是把下一行写在一起了。事实上,写C程序的时候,可以把多行写作一行,C编译器只要遇到分号就认为是一行语句的结束。...06行:Delay()延时子函数的结束标志。 07行:声明主函数main()。这里的主函数不需要参数,也不返回函数值。 08行:主函数的开始标志“{”。...与01行的Delay()延时子函数一样,习惯上也会把下一行的语句与本行的花括号写在一起。 09行:声明一个无条件for()循环,“;;”以使单片机重复执行任务,使流水灯能不停地流动。

    2.9K20

    IDEA + Vim,竟可以这么牛逼!!

    在IDEA Intellij小技巧和插件一文中简单介绍了一下IdeaVim插件。在这里详细总结一下这个插件在日常编程中的一些常用小技巧。供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考。...关于范围请看第5点,常用的组合有:caw -删除一个单词包括它后面的空格并开始插入;ciw -删除一个单词并开始插入;ci" -删除一个字符串内部文本并开始插入;c$ -从光标位置删除到行尾并开始插入;...ct字符-从光标位置删除本行某个字符之前(保留该字符)并开始插入。...-复制下方的一个字符 Ctrl+r 0 -插入前一次用y命令寄存的内容 Ctrl+r * -插入系统剪贴板的内容 Ctrl+r -插入指定寄存器的内容 Ctrl+a -插入前一次插入模式所键入的内容...需要定义全局书签可以使用Idea原本的F11 +数字方式 13文本替换 使用:s/正则表达式/替换文本/可在本行内替换首次出现的匹配 使用:s/正则表达式/替换文本/g在本行内替换所有出现的匹配 使用:

    2.9K10
    领券