第十三章 文件输入/输出
  • fopen--fclose

fopen 是文件的操作的开始 fclose是文件操作的结束

  • getc--putc getchar--putchar

getc对应文件的获取单个字符

  char ch[];
FILE * fp;
...//fopen()...; ch = getc(fp); putc(ch,fp);

getchar 对应字符的键盘输入输出操作操作

 #include<stdio.h>

 int main()
{ char ch = getchar();
char str[] = {};
int i = ;
while(ch != '\n')
{
str[i++]=ch;
// putchar(ch);
ch = getchar() ; }
str[i]=ch;
putchar(ch);
printf("*%s \n",str);
return ;
}
  • fgets--fputs gets--puts

fgets,fputs 针对文件进行字符串进行操作,也可以针对键盘等。

#include<stdio.h>

int main()
{
FILE *p ; char line[]={}; while(fgets(line,,stdin)!=NULL && line[]!= '\n')
{
fputs(line,stdout);
}
return ; }

这段代码是对文件之间进行操作但是逻辑可能又问题 只是简单的展示作用

 #include<stdio.h>
#include<string.h> int main()
{
FILE *fp ; char line[]={};
fp = fopen("content_server.list","r+");
while(fgets(line,,fp)!=NULL && line[]!= '\n')
{
strcat(line,"lcw");
fseek( fp , , SEEK_CUR );
printf("%s %d\n",line,fputs(line,fp));
// fputs(line,fp);
} fputs("@@",fp);
fclose(fp);
return ; }

gets--puts 正对键盘输入输出字符串进行操作

#include<stdio.h>

int main()
{
FILE *fp;
char words[]; fp = fopen("./content_server.list","a+"); while(gets(words)!=NULL && words[]!='\0')
{
fprintf(fp,"%s",words);
} rewind(fp);
char ch;
while(fscanf(fp,"%s",words)==)
{
//putchar(ch);
puts(words);
} fclose(fp);
return ; }
  • fprintf--fscanf  printf--scanf--sprintf

fpirntf:类似pfuts  fprintf->fputs->fputc 这个是三者的调用时间的结果。详细查询 http://blog.csdn.net/slimfox/article/details/1092709

fscanf:这个不想讲太多参考上面的代码

scanf:键盘读入数据

sprintf:格式化字符串

  • fseek--ftell

fseek 移动文件的当前位置

ftell 显示文件的当前位置

读书共享 Primer Plus C-part 8的更多相关文章

  1. 读书共享 Primer Plus C-part 5

    第五章 运算符.表达式和语句 关于+- 的一元运算符和二元运算符的区别 a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值 a+=1: 事实上相当于++a a=a+1: 虽然有点雷同于a+ ...

  2. 读书共享 Primer Plus C-part 7

    第十章  数组和指针 1.关于二维数组跟指针 #include<stdio.h> int main() { ][]={{,,,},{,,,},{,,,}}; ; ;i< ;i++) ...

  3. 读书共享 Primer Plus C-part 12

    第十四章 结构和其他数据形式 1.关于上struct与union 的区别 #include<stdio.h> typedef union Book_u { int pags; int mo ...

  4. 读书共享 Primer Plus C-part11

    第十四章结构和其他数据形式 关于fread以及fwrite fread(char* buff,int size,int count,FILE* fp) fwrite(char* buff,int si ...

  5. 读书共享 Primer Plus C-part 9

    第十二章 存储类.链接和内存管理                                                       针对代码块中的static变量做如下范本 #include ...

  6. 读书共享 Primer Plus C-part 4

    第四章 字符串和格式化输入输出 关于printf -  左对齐 #include<stdio.h> void main() { char str [100] = "liuchua ...

  7. Primer C++第五版 读书笔记(一)

    Primer C++第五版 读书笔记(一) (如有侵权请通知本人,将第一时间删文) 1.1-2.2 章节 关于C++变量初始化: 初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义 ...

  8. 读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++]

    读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++] 第12章 类 1. 类的声明与定义:前向声明,不完全类型 2. 从const函数返回*this 3. 可变数据成 ...

  9. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

随机推荐

  1. android 本地数据库sqlite的封装

    单机android   sqlite数据库的实现,这个数据库可与程序一起生成在安装包中 一.下载sqlite3.exe文件 二.运行 cmd 转到sqlite3.exe 所在目录  运行 sqlite ...

  2. 树莓派安装FLASK服务;并在端网页读取 GPIO状态和系统时间

    做过一些物联网的作品:因为不想一直做APP来控制,因为不能每个人都去下载你自己做的APP,浏览器大家都是有的:那么每个人通过浏览器WEB来访问我们服务器,岂不是很简单和方便,采用flask+pytho ...

  3. Swift 入门之简单语法(一)

    定义 let 定义常量,一经赋值不允许再修改 var 定义变量,赋值之后仍然可以修改 //: # 常量 //: 定义常量并且直接设置数值 let x = 20 //: 常量数值一经设置,不能修改,以下 ...

  4. 通过demo学python

    链接 Github项目地址 软件安装包(pycharm.注册码.解析器等) Python 一切皆对象 Python 编码规范 The Python Standard Library The Pytho ...

  5. EM算法原理总结

    EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等.本文就对 ...

  6. JAVA POI 应用系列(1)--生成Excel

    POI简介(官网:http://poi.apache.org/)     Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office ...

  7. 连接Oracle数据库的时候报了“Got minus one from a read call”

    (转) 出现这种问题基本上就以下几种原因,可以查一下系统日志看看:1:数据库连接满了,扩大数据库连接池2:所登录的机子IP不在sqlnet.ora内,加入后重启listerner即可3:数据库负载均衡 ...

  8. 一天搞定HTML----标签类型与类型转换05

    标签类型: 标签只有两类:行内元素和块元素 行内元素:内容撑开宽高 块元素:默认独占一行 注意: 在使用display时,会遇到一种inline-block类型的标签.这种标签不属于标签的分类. 1. ...

  9. java GUI (课堂笔记)

    关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...

  10. 如何编写Spring-Boot自动配置

    摘要 本文主要介绍如何把一个spring的项目(特别是一些公共工具类项目),基于spring boot的自动配置的思想封装起来,使其他Spring-Boot项目引入后能够进行快速配置. AutoCon ...