读书共享 Primer Plus C-part 8
第十三章 文件输入/输出
- 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的更多相关文章
- 读书共享 Primer Plus C-part 5
第五章 运算符.表达式和语句 关于+- 的一元运算符和二元运算符的区别 a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值 a+=1: 事实上相当于++a a=a+1: 虽然有点雷同于a+ ...
- 读书共享 Primer Plus C-part 7
第十章 数组和指针 1.关于二维数组跟指针 #include<stdio.h> int main() { ][]={{,,,},{,,,},{,,,}}; ; ;i< ;i++) ...
- 读书共享 Primer Plus C-part 12
第十四章 结构和其他数据形式 1.关于上struct与union 的区别 #include<stdio.h> typedef union Book_u { int pags; int mo ...
- 读书共享 Primer Plus C-part11
第十四章结构和其他数据形式 关于fread以及fwrite fread(char* buff,int size,int count,FILE* fp) fwrite(char* buff,int si ...
- 读书共享 Primer Plus C-part 9
第十二章 存储类.链接和内存管理 针对代码块中的static变量做如下范本 #include ...
- 读书共享 Primer Plus C-part 4
第四章 字符串和格式化输入输出 关于printf - 左对齐 #include<stdio.h> void main() { char str [100] = "liuchua ...
- Primer C++第五版 读书笔记(一)
Primer C++第五版 读书笔记(一) (如有侵权请通知本人,将第一时间删文) 1.1-2.2 章节 关于C++变量初始化: 初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义 ...
- 读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++]
读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++] 第12章 类 1. 类的声明与定义:前向声明,不完全类型 2. 从const函数返回*this 3. 可变数据成 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记2
<3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...
随机推荐
- MyBatis双数据源配置
配置相关 jdbc 配置 #============================================================================ # MySQL # ...
- Windows 7 蓝屏代码大全 & 蓝屏全攻略
关于Windows 7.Vista等系统的蓝屏,之前软媒在Win7之家和Vista之家都有很多文章讨论过,但是都是筛选的常见的一些问题,今天这个文章是个大全,希望大家看着别头痛,文章收藏下来以后待查即 ...
- $(obj).index(this)与$(this).index()异同讲解
$(this).index()在使用jQuery时出镜率非常高,在编写选项卡及轮播图等特效时经常用到,但$(obj).index(this)似乎有点陌生. 为便于理解,以下分两个使用场景加以分析. 场 ...
- 安迪的第一个字典(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 ...
- HTML5录音控件
最近的项目又需要用到录音,年前有过调研,再次翻出来使用,这里做一个记录. HTML5提供了录音支持,因此可以方便使用HTML5来录音,来实现录音.语音识别等功能,语音开发必备.但是ES标准提供的API ...
- JDK并发包
JDK5之后引进了并发包java.util.concurrent,让并发的开发更加可控,更加简单.所以有必要好好学习下,下面从同步控制.并发容器.线程池三部分来详细了解它. 1. 各种同步控制工具的使 ...
- Bash启动选项
Bash选项可以用来控制它的行为,有两种选项:单字符选项和多字符选项,多字符选项必须出现在单字符选项以前.1)单字符选项:由一个减号和一个字符组成2)多字符选项:由两个减号和多个字符组成 常用选项:- ...
- WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code)
我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的. 现在,感觉和事实是完全不同的两个东西.当你看到三层架构的框图的时候,你会觉得每层的职责被分配的很好.但是当你你真的去写代码的 ...
- [1] Ninject
为什么使用这种依赖注入的框架呢?我借鉴两张图做一下说明 传统的接口方式,即 IValueCalculator I=new LinqValueCalculator,虽然用接口做的隔离,但是在调用的时候实 ...
- guoshiyv 数据结构与算法2-1 线性链式存储
线性链式存储: 包含两部分:1.存储的单个元素 2.指针,指向下一个的地址 typedef struct() { ElementType Data; struct Node *Next; }Lis ...