c语言输出参数是out,关于C语言中的输出输入流
匿名用户
1级
2010-01-23 回答
/********************
程序功能:
输入学生信息,存盘,
并能按名字找对应的学生,找到则
输出,否则输出无此人
********************/
#include
#include
/*定义学生人数*/
#define N 3
/*名字和性别长度*/
#define NO 20
/****结构体存信息更多的信息随便加****/
typedef struct student
{
char sname[NO];
char ssex[NO];
int snumber;
}stu;
/**输出找到信息**/
void display(stu ss)
{
printf("information of student:\nname:\tsex:\tnumber:\n");
printf("%s %s %d\n", ss.sname, ss.ssex, ss.snumber);
}
/***************
处理输入的字符,原因很多(主要是数组和指针的转
换带来的问题,这是比较底层的东西),如果少了这个
就会出错,怪就怪系统函数做得不太好。
有些东西还是得自己出马写的
****************/
void do_Char(char *ch)
{
int i;
for (i = 0; i < NO; i++)
{
if (0 != ch[i] && '\0' != ch[i]);
else break;
}
if (NO == i)
{
i--;
}
ch[i] = '\0';
}
/****************************
读取信息,即初始化存入文件*** gets(chname);
**************************/
void getInformation(stu s[])
{
FILE *pf = NULL;
char chname[NO];
char chsex[NO];
int number;
int i;
if (NULL == (pf = fopen("studenInformatio.txt", "wb")))
{
printf("fopen error !");
exit(0);
}
for (i = 0; i < N; i++)
{
printf("input the name:\tsex:\tnumber:\n");
gets(chname);
do_Char(chname);
gets(chsex);
do_Char(chsex);
scanf("%d", &number);
strcpy(s[i].sname, chname);
strcpy(s[i].ssex, chsex);
s[i].snumber = number;
fwrite(&s[i], sizeof(stu), 1, pf);
display(s[i]);
/********************
清空绶存的,这也是系统函数的原因,如果少了这个
就会把上次输入的回车作为下次还要输入的内容,这个也
是没办法的,不信你自己改下,会令人想不通的东西出现在你面前
***********************/
flushall();
}
fclose(pf);
}
/****按名字查找****/
void find()
{
FILE *pf = NULL;
char chname[N];
stu s[N];
int i;
if (NULL == (pf = fopen("studenInformation.txt", "rb")))
{
printf("fopen error !");
exit(0);
}
for (i = 0; i < N; i++)
{
fread(&s[i], sizeof(stu), 1, pf);
}
for (i = 0; i < N; i++)
display(s[i]);
printf("input the name of you will find:\n");
scanf("%s", chname);
for (i = 0; i < N; i++)
{
if (0 == strcmp(s[i].sname, chname))
{
display(s[i]);
break;
}
}
if (N == i)
{
printf("not find this struden.\n");
}
fclose(pf);
}
/***驱动程序***/
void main()
{
stu st[N];
getInformation(st);
find();
getch();
}
已通过上机,这里说下,不要相信库函数总是最好的.
希望你也有同感,如果要我举例那又会是几百字以上的东西了.
你多做几个大一点的(500行左右)程序就知道了.
上千行你会发现更多你没见过书上从来没有的东西.
c语言输出参数是out,关于C语言中的输出输入流相关推荐
- Linux c语言 creat参数,C++_使用C语言操作文件的基本函数整理,C语言creat()函数:创建文件函 - phpStudy...
使用C语言操作文件的基本函数整理 C语言creat()函数:创建文件函数 头文件: #include #include #include 定义函数: int creat(const char * pa ...
- matlab如何输出一个函数的图像,在matlab中如何输出一个函数的图像
点击查看在matlab中如何输出一个函数的图像具体信息 答:A. imread imread函数用于读入各种图像文件,其一般的用法为 [X,MAP]=imread('filename','fmt')其 ...
- 在命令提示符输出c语言代码_您可以在Windows命令提示符中更改输出缓冲区的大小吗?...
在命令提示符输出c语言代码 If you are someone who loves using the Windows Command Prompt, you may have found your ...
- mysql 输出参数赋值_【Mysql 调用存储过程,输出参数的坑】
UIViewContentMode各类型效果 UIViewContentMode typedef enum { UIViewContentModeScaleToFill, UIView ...
- c语言让参数等于空字符串,C语言模拟实现字符串操作函数
前言 在编写程序过程中,我们经常使用到一些字符串函数,例如求字符串长度,拷贝字符串--,这些函数都在C标准库中存在,我们可以直接使用.但我们还需要掌握这些函数的实现方法,今天来看看一些常用的字符串操作 ...
- MATLAB 输入和输出参数
MATLAB是一种高级技术计算软件,广泛应用于各种工程和科学领域.在MATLAB中,输入和输出参数是非常重要的概念.本文将介绍MATLAB中输入和输出参数的基本概念和用法. 输入参数 在MATLAB中 ...
- C语言可变参数函数_初探
一.什么是可变参数函数 C语言允许定义参数数量可变的函数,这称为可变参数函数(variadic function).这种函数需要固定数量的强制参数,后面是数量可变的可选参数. 其中,强制参数必须至少一 ...
- java 输出参数_Java方法输出参数
在写Java代码的时候,自定义方法的时候,都会牵扯到参数问题,方法参数包括输出参数和输入参数. 下面主要说说输出参数: 1.没有输出参数的时候就直接把输出参数写成void就可以. 2.当输出参数只有一 ...
- JS常用的输出内容的方式详解(5种输出方式)
1.alert("要输出的内容"); ->在浏览器中弹出一个对话框,然后把要输出的内容展示出来 ->alert都是把要输出的内容首先转换为字符串然后在输出的 2.doc ...
最新文章
- Blender全流程制作真实感3D产品学习教程
- idel 智能提示_intellij idea设置代码自动提示快捷键的详细方法.
- 精通python-助你精通python,这些学习资源请收好
- 【错误记录】Android 模拟器安装应用报错 ( INSTALL_FAILED_INSUFFICIENT_STORAGE )
- 【转载】OI生涯结束……在逸夫楼那些的日子里
- 正则化与L0、L1、L2范数略解
- Python实训day03pm【列表生成式、非文本文件的读写与复制、文本文件读写练习】
- linux 串口最高速率,Uart 16c950 linux速度高于B4000000(4Mbps)
- 苹果首款自研芯片Mac成本可能上升 因设计改变
- pspice和matlab,PSpice和MATLAB综合电路仿真与分析(原书第2版)
- 读书笔记:《超越需求 敏捷思维模式下的分析》
- java-map(世界杯)
- java中合并不同子目录下的txt文件(CHM转换成txt的过程)
- 在我心目中的霸气海贼王——路飞 不一样的路飞
- 《学习之道》第二章专注思维和发散思维
- 为你的树莓派安装xbox手柄驱动~
- layer出现Uncaught ReferenceError: layer is not defined错误
- 马云被约谈 传递了什么信号?
- 【区域赛总结】2015ACM-ICPC北京区域赛
- BAPI创建CLASS和CHARACTERISTICS
热门文章
- 7.Eclipse中创建新Maven项目
- 9.Boost之正则regex
- 内存中原码,反码,补码,查看数值范围,,或,异或,取反,左右移位操作
- 基于注解的Spring MVC(所需jar包,web.xml配置,Spring文件配置,@Controller,@RequestMapping,@RequestParam,model填参,EL取值)
- 处理数字_2_计算某列的平均值
- Kettle使用_14 文件操作复制移动删除结合JS
- dedecmsmip_织梦MIP文章内容页图片适配百度MIP规范
- tf.pad函数功能介绍
- matlab创建二叉树(二维数据)
- 2018-2019 网络对抗技术 20165231 Exp5 MSF基础应用