c语言如何保存函数 c语言如何保存函数数据
C语言题,紧急,高手们帮帮忙! 如何在下面这个函数中加入文件操作来保存输入的数据?
随便写了一个,因为不知道你的sn[]数据室怎么定义的,所以你自己只写了出来没有排错,你自己调试吧,应该就是这个样子
成都创新互联公司基于分布式IDC数据中心构建的平台为众多户提供川西大数据中心 四川大带宽租用 成都机柜租用 成都服务器租用。
int writeDat()
{
FILE *fp;
if((fp=fopen("c:\\设备清单.txt","a"))==NULL) //打开文件
{
printf("打开文件失败 c:\\设备清单.txt!");
getch();
return(1);
}
//输出到文件
fprintf(fp, "\n%s ",eq[n].ID);
fprintf(fp, "%s ",eq[n].kind);
fprintf(fp, "%s ",eq[n].name);
fprintf(fp, "%s ",eq[n].price);
fprintf(fp, "%d %d %d",eq[n].purchaseDay.year,eq[n].purchaseDay.month,eq[n].purchaseDay.day);
fprintf(fp, "%s ",eq[n].yesno);
fprintf(fp, "%d %d %d",eq[n].overDay.year,eq[n].overDay.month,eq[n].overDay.day);
//输出到屏幕,不需要的话可以屏蔽掉
fprintf("\n%s ",eq[n].ID);
fprintf("%s ",eq[n].kind);
fprintf("%s ",eq[n].name);
fprintf("%s ",eq[n].price);
fprintf("%d %d %d",eq[n].purchaseDay.year,eq[n].purchaseDay.month,eq[n].purchaseDay.day);
fprintf("%s ",eq[n].yesno);
fprintf("%d %d %d",eq[n].overDay.year,eq[n].overDay.month,eq[n].overDay.day);
fclose(fp);//关闭文件
return(0);
}
void Add()//信息录入
{
char c='Y';
int choice;
while(c=='Y')
{
fflush(stdin);//清除输入流的缓存区,确保不影响后面的数据读取
printf("\n请输入设备ID号:");
scanf("%s",eq[n].ID);
printf("\n请输入设备种类:");
scanf("%s",eq[n].kind);
printf("\n请输入设备名称:");
scanf("%s",eq[n].name);
printf("\n请输入设备价格:");
scanf("%s",eq[n].price);
printf("\n请输入设备购入日期:");
scanf("%d %d %d",eq[n].purchaseDay.year,eq[n].purchaseDay.month,eq[n].purchaseDay.day);
printf("\n请输入设备是否报废:");
scanf("%s",eq[n].yesno);
printf("\n请输入报废日期:");
scanf("%d %d %d",eq[n].overDay.year,eq[n].overDay.month,eq[n].overDay.day);
if(writeDat())printf("\n提示:第%d条记录的录入失败!\n",n+1);;
else
{
n++;
printf("\n提示:已经完成%d记录的录入!\n",n);;
}
printf("\n输入Y继续!\n");
c=getchar();
}
printf("\n提示:输入0则返回主菜单!\n");
scanf("%d",choice);
if(choice==0)
menu();
}
C语言如何保存程序内输入的数据
#includestdio.h
main()
{
FILE *fp;
char ch;
fp=fopen("1.dat","w");
while(ch!='a')
{
ch=getchar();
fputc(ch,fp);
}
fclose (fp);
}
给你个例子看看。输入一些字符。会保存在1.dat中。1.dat在你的C程序目录下。你可以去看下C语言文件。。挺简单的,你要实现的 是要用到。fwrite()这个读入数据流。
C语言 指针数组如何存放函数地址
1.函数指针的数组定义方法:返回值类型( * 指针变量名[Number]) (形参列表)。
例如:
double add(double a,double b){};
double sub(double a,double b){};
double mul(double a,double b){};
double div1(double a,double b){};
double (*oper_func[])(double, double) = {add,sub,mul,div1};//函数指针的数组定义
2.函数指针是指向函数的指针变量。函数指针有两个用途:调用函数和做函数的参数。
函数指针的声明方法为:
返回值类型( * 指针变量名) (形参列表);
“返回值类型”说明函数的返回类型,“( * 指针变量名)”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。
例子:
#includestdio.h
int max(int x,int y){return (xy? x:y);}
int main(){
int (*ptr)(int, int);
int a, b, c;
ptr = max;
scanf("%d%d", a, b);
c = (*ptr)(a,b);
printf("a=%d, b=%d, max=%d", a, b, c);
return 0;
}
C语言:函数调用时在函数内声明的变量所得到的值将无法保存到该函数的下一次调用,错在哪?
在调用函数的时候,栈按照一定的顺序保存函数名和局部变量,然后函数调用完后栈里的函数名和局部变量被释放,所以结果无法保存,如果是定义为static类型的就可以了,局部变量也是不能保存的
当前标题:c语言如何保存函数 c语言如何保存函数数据
转载来源:http://scyanting.com/article/dodjgjc.html