这是源程序:// 1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>#define SAFE_DELETE_ARRAY(p) { if (p) {delete []p; p=NULL;}}#define ROLE_COUNT 5#define NAME_LEN 20using std::cin;using std::cout;using std::endl;typedef struct _ROLE{int HP;int level;char name[NAME_LEN +1];}ROLE,*LPROLE;int _tmain(int argc,_TCHAR* argv[]){LPROLE role=NULL;role=new ROLE[ROLE_COUNT];memset(role,0,sizeof(ROLE)*ROLE_COUNT);FILE*file=NULL;if((file=fopen("role.txt","r+"))==NULL){cout<<"角色文件没有找到,角色加载失败!请重新创建角色。"<<endl;}else{for(int i=0;i<ROLE_COUNT;i++)fscanf(file,"%d%d%s",&role[i].HP,&role[i].level,role[i].name);fclose(file);}printf("HP\t等级\t昵称\n");for(int i=0;i<ROLE_COUNT;i++)printf("%d\t%d\t%s\n",role[i].HP,role[i].level,role[i].name);for(int i=0;i<ROLE_COUNT;i++){cout<<"输入第"<<i+1<<"个角色的HP:"<<endl;cin>>role[i].HP;cout<<"输入第"<<i+1<<"个角色的等级:"<<endl;cin>>role[i].level;cout<<"输入第"<<i+1<<"个角色的名字:"<<endl;cin>>role[i].name;}for(int i=0;i<ROLE_COUNT;i++)printf("%d\t%d\t%s\n",role[i].HP,role[i].level,role[i].name);if ((file=fopen("role. txt","w+"))==NULL){cout<<"角色文件保存失败!"<<endl;}else{for (int i=0;i<ROLE_COUNT;i++)fprintf(file,"%d\t%d\t%s\n",role[i].HP,role[i].level,role[i].name);fclose(file);}SAFE_DELETE_ARRAY(role);return 0;}运行时出现3个警告(说下 这不是警告级别的问题哦。)还有就是:1,cpptest.cpp(27) : warning C4996: “fopen”被声明为否决的。2,cpptest.cpp(35) : warning C4996: “fscanf”被声明为否决的。3,cpptest.cpp(55) : warning C4996: “fopen”被声明为否决的。结果为:角色文件没有找到,角色加载失败!请重新创建角色HP 等级 level0 0 0 持续五行0,在出现请输入第一个角色的HP:
- 2 回答
- 0 关注
- 115 浏览
添加回答
举报
0/150
提交
取消