c语言猜拳游戏思考,这是一个猜拳游戏的程序 大家有更好的解决方法么?
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
#include?
/*?顯示程序的使用方法?*/
void?help()
{
printf("Usage?:?\nFind?and/or?replace?a?string?in?a?text?file\n");
printf("Syntex?:?\nFREP???[replace?string]\n");
exit();
}
/*?查找指定文件中的字符串?*/
void?find(flnm,searchstr)
char?*flnm,*searchstr;
{
char?str1[256];
unsigned?int?i,l;
FILE?*f1;
if?((f1?=?fopen(flnm,"r"))==NULL)?{
printf("File?not?found?!\n");
help();
}
l?=?0;
do?{
fgets(str1,256,f1);?/*?從文件中讀取一行?*/
++l;
if?(strstr(str1,searchstr)!=NULL)?/*?有待查找的字符串嗎??*/
printf("[%s]?Line?:?%d?%s",flnm,l,str1);?/*?顯示該行內容?*/
}?while?(!?feof(f1));
fclose(f1);
}
/*?查找指定文件中的字符串,并替換?*/
void?replace(flnm,searchstr,replacestr)
char?*flnm,*searchstr,*replacestr;
{
char?str1[256],str2[256];
char?*p1,*p2,*p3;
FILE?*f1,*f2;
unsigned?int?i,fslen,i1,i2,i3;
char?path[80],drive[3],dir[66],name[10],ext[5];
if?((f1?=?fopen(flnm,"r"))==NULL)?{
printf("File?not?found?!\n");
help();
}
if?((f2?=?fopen("temp","w+"))==NULL)?{
printf("File?not?opened?!\n");
help();
}
fslen=strlen(searchstr);
do?{
fgets(str1,256,f1);?/*?從文件中讀取一行?*/
i1=strlen(str1);
p1=str1;
p3=str2;
while?(strstr(p1,searchstr)!=NULL)?{?/*?查找的字符串在該行中嗎??*/
p2?=?strstr(p1,searchstr);
i2=strlen(p2);
i3=i1-i2;
p1+=i3;
for?(i=0;i
while?(*p3++?=?*replacestr++);?/*?復制替換字符串?*/
p3-=1;
p1+=fslen;
}
while?((*p3++=*p1++)!='\0');?/*?復制該行中剩余的字符?*/
fputs(str2,f2);?/*?寫文件?*/
strcpy(str2,"");
}?while?(!feof(f1));
fclose(f1);
fclose(f2);
fnsplit(flnm,drive,dir,name,ext);
strcat(strcpy(str1,name),".bak");
if?((f1=fopen(str1,"r"))!=NULL)?unlink(str1);
if?(rename(flnm,str1)!=0) /*?原文件改名為同名的BAK文件?*/
printf("Error?:?File?[%s]?cannot?be?not?renamed?to?file?[%s]?!\n",flnm,str1);
else?if?(rename("temp",flnm)!=0)?/*?將臨時文件改名為原文件名?*/
printf("Error?:?File?[temp]?cannot?be?not?renamed?to?file?[%s]?!\n",flnm);
}
/*?主程序?*/
main(argv,argc)
int?argv;
char?*argc[];
{
char?*flnm,*searchstr,*replacestr;
unsigned?int?findb=0,replaceb=0;
printf("%s","FREP?Version?1.1,?Copyright?(C)?1994,95?Dong?Zhanshan\n");
switch?(argv)?{
case?3?:?flnm?=?argc[1];?/*?查找字符串?*/
searchstr?=?argc[2];
findb?=?1;
break;
case?4?:?flnm?=?argc[1];?/*?替換字符串?*/
searchstr?=?argc[2];
replacestr?=?argc[3];
replaceb?=?1;
break;
default?:?help();
}
if?(flnm?==?"")?help();
if?(findb)?find(flnm,searchstr);
if?(replaceb)?replace(flnm,searchstr,replacestr);
return?0;
}
總結
以上是生活随笔為你收集整理的c语言猜拳游戏思考,这是一个猜拳游戏的程序 大家有更好的解决方法么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在 Wi ndows,MSComm控件在
- 下一篇: 曝索尼或正在开发PS5专用TWS耳机 将