第十三章 文件输入/输出
  • 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. MyBatis双数据源配置

    配置相关 jdbc 配置 #============================================================================ # MySQL # ...

  2. Windows 7 蓝屏代码大全 & 蓝屏全攻略

    关于Windows 7.Vista等系统的蓝屏,之前软媒在Win7之家和Vista之家都有很多文章讨论过,但是都是筛选的常见的一些问题,今天这个文章是个大全,希望大家看着别头痛,文章收藏下来以后待查即 ...

  3. $(obj).index(this)与$(this).index()异同讲解

    $(this).index()在使用jQuery时出镜率非常高,在编写选项卡及轮播图等特效时经常用到,但$(obj).index(this)似乎有点陌生. 为便于理解,以下分两个使用场景加以分析. 场 ...

  4. 安迪的第一个字典(Andy's First Dictionary,UVa 10815)

    Description Andy, , has a dream - he wants to produce his very own dictionary. This is not an easy t ...

  5. HTML5录音控件

    最近的项目又需要用到录音,年前有过调研,再次翻出来使用,这里做一个记录. HTML5提供了录音支持,因此可以方便使用HTML5来录音,来实现录音.语音识别等功能,语音开发必备.但是ES标准提供的API ...

  6. JDK并发包

    JDK5之后引进了并发包java.util.concurrent,让并发的开发更加可控,更加简单.所以有必要好好学习下,下面从同步控制.并发容器.线程池三部分来详细了解它. 1. 各种同步控制工具的使 ...

  7. Bash启动选项

    Bash选项可以用来控制它的行为,有两种选项:单字符选项和多字符选项,多字符选项必须出现在单字符选项以前.1)单字符选项:由一个减号和一个字符组成2)多字符选项:由两个减号和多个字符组成 常用选项:- ...

  8. WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code)

    我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的. 现在,感觉和事实是完全不同的两个东西.当你看到三层架构的框图的时候,你会觉得每层的职责被分配的很好.但是当你你真的去写代码的 ...

  9. [1] Ninject

    为什么使用这种依赖注入的框架呢?我借鉴两张图做一下说明 传统的接口方式,即 IValueCalculator I=new LinqValueCalculator,虽然用接口做的隔离,但是在调用的时候实 ...

  10. guoshiyv 数据结构与算法2-1 线性链式存储

    线性链式存储:   包含两部分:1.存储的单个元素 2.指针,指向下一个的地址 typedef struct() { ElementType Data; struct Node *Next; }Lis ...