函数fgets和fputs、fread和fwrite用法小结(转)
字符串读写函数fgets和fputs:
1、fgets()函数:
原型char *fgets(char *s, int n, FILE *stream);
从流中读取n-1(n默认1024)个字符之前,如遇到了换行符或EOF,则读出结束。参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。
在Linux C下也可以从屏幕输入字符串,例:fputs(fgets(s,n,stdin),stdout);
2、fputs()函数:
原型int fputs(char *string, FILE *stream);
送一个字符串到一个流中。
fopen()打开文件,fclose()关闭文件。
数据块读写函数fread和fwrite:
C语言还提供了用于整块数据的读写函数。 可用来读写一组数据,如一个数组元素,一个结构变量的值等。读数据块函数调用的一般形式为: fread(buffer,size,count,fp); 写数据块函数调用的一般形式为: fwrite(buffer,size,count,fp); 其中buffer是一个指针,在fread函数中,它表示存放输入数据的首地址。在fwrite函数中,它表示存放输出数据的首地址。 size 表示数据块的字节数。count 表示要读写的数据块块数。fp 表示文件指针。
例如:
fread(fa,4,5,fp); 其意义是从fp所指的文件中,每次读4个字节(一个实数)送入实数组fa中,连续读5次,即读5个实数到fa中。
[例10.6]从键盘输入两个学生数据,写入一个文件中, 再读出这两个学生的数据显示在屏幕上。
#include<stdio.h>
struct stu
{
char name[];
int num;
int age;
char addr[];
}boya[],boyb[],*pp,*qq;
main()
{
FILE *fp;
char ch;
int i;
pp=boya;
qq=boyb;
if((fp=fopen("stu_list","wb+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit();
}
printf("\ninput data\n");
for(i=;i<;i++,pp++)
scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);
pp=boya;
fwrite(pp,sizeof(struct stu),,fp);
rewind(fp);
fread(qq,sizeof(struct stu),,fp);
printf("\n\nname\tnumber age addr\n");
for(i=;i<;i++,qq++)
printf("%s\t%5d%7d%s\n",qq->name,qq->num,qq->age,qq->addr);
fclose(fp);
}
函数fgets和fputs、fread和fwrite用法小结(转)的更多相关文章
- fread和fwrite用法小结
fwrite和fread是以记录为单位的I/O函数,fread和fwrite函数一般用于二进制文件的输入输出. #include <stdio.h>size_t fread(void *p ...
- 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)
函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...
- C编程中fread 、fwrite 用法总结
在C语言中进行文件操作时,我们经常用到fread()和fwrite(),用它们来对文件进行读写操作.下面详细绍一下这两个函数的用法. 我们在用C语言编写程序时,一般使用标准文件系统,即缓冲文件系统 ...
- (转载)C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind
http://blog.sina.com.cn/s/blog_61437b3b0102v0bt.html http://blog.csdn.net/chenwk891/article/details/ ...
- C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind
由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...
- C++之函数fgetc和fputc、fgets和fputs、fread和fwrite、fscanf和fprintf用法小结
#include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int ...
- C++:fread、fwrite函数用法
主要内容: fread.fwrite函数的用法 1.函数功能 用来读写一个数据块. 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,c ...
- fread 和 fwrite 函数用法示例以及注意事项
1.函数功能 用来读写一个数据块. 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 3.说明 ( ...
- fwrite和fread函数的用法小结(转)
fwrite和fread是以记录为单位的I/O函数,fread和fwrite函数一般用于二进制文件的输入输出. #include <stdio.h> size_t fread(void * ...
随机推荐
- laravel 嵌套事务
什么是嵌套事务? 一般情况下我们都是一个 begin, 一个 commit 或 rollBack, 但是有可能我们有种场景需要 begin 然后在事务里面再开一个事务, 这就是嵌套事务. MySQL ...
- 01 C++ 多线程入门实例
1.可复用的完整实例 #include <iostream> #include <thread> #include <mutex> using namespace ...
- 利用 Dijit 组件框架打造丰富的用户界面
原文出处:Joe Lennon 从头开始学习 Dojo,第 3 部分 利用 Dijit 组件框架打造丰富的用户界面 Dijit 是什么? Dijit 是 Dojo 工具包的富组件用户界面库.这些组件完 ...
- NO.11天作业
打印uid在30~40范围内的用户名.awk -F: '$3>=30 && $3<=40{print $1,$3}' /etc/passwd 打印第5-10行的行号和用户名 ...
- IIS错误整理收集【持续更新】
一.HTTP 错误 403.14 - Forbidden HTTP 错误 403.14 - Forbidden,Web 服务器被配置为不列出此目录的内容. 解决方案:修改程序池.NET Framewo ...
- UNDERSTANDING THE GAUSSIAN DISTRIBUTION
UNDERSTANDING THE GAUSSIAN DISTRIBUTION Randomness is so present in our reality that we are used to ...
- MongoDB - MongoDB CRUD Operations, Delete Documents
Delete Methods MongoDB provides the following methods to delete documents of a collection: Method De ...
- Spyder docstrings文档字符串的标准
Spyder docstrings文档字符串的规范 python的docstring 非常重要. 有时候编写一个小函数只需要几行代码就可了. 但是完善的文档很可能比源代码长许多. 特点和标准 docs ...
- 20155306 2016-2017-2 《Java程序设计》第七周学习总结
20155306 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 第十三章 时间与日期 三种时间: 格林威治标准时间(GMT)的正午是太阳抵达天空最高点之时, ...
- Shell编程之运算符和环境变量配置文件
一.shell运算符: declare命令: declare -i 变量名 #声明变量 eg. movie[o]=dzp #定义数组 ...