大神们救救。。我真的要吐血了

h__chen 2011-07-31 10:53:32
char mm1[9]={"admin888"};
void xg()//修改
{
int count;
char ys[9], xy[9],xe[9],d,dq[9];
FILE *pp,*pa;
pp = fopen("C:\\Users\\Administrator\\Desktop\\VC\\银行密码.txt","r");
if( fgets(dq,9,pp)!=NULL)
//if( fread(&dq,8,1,pp)==1)//这两个后来都可以了
// fscanf(pp,"%s",dq);
dq[8]='\0';
fclose(pp);
gl:// system("cls");
printf("请输入原密码:");
count=0;
do
{
scanf("%s",ys);
if(ys[0]=='1'&&ys[1]=='2'&&ys[2]=='3')
goto dl;
if(strcmp(ys,dq)!=0 )
printf("密码输入错误,请从新输入(输入123退出):");
}while(strcmp(ys,dq)!=0);
printf("请输入新密码(八位): ");
fflush(stdin);
while((d=getchar())!='\0')
{
xy[count]=d;
count++;
if(count>=8)
{
xy[8]='\0';
break;
}
}
printf("再次输入新密码: ");
count=0;
fflush(stdin);
while((d=getchar())!='\0')
{
xe[count]=d;
count++;
if(count>=8)
{
xe[8]='\0';
break;
}
}
if(strcmp(xy,xe)!=0)
{ printf("密码输入不一致,请从新输入(按任意键)");
getch();
goto gl;
}
else
{
strcpy(mm1,xy);
pa = fopen("C:\\Users\\Administrator\\Desktop\\VC\\银行密码.txt","w");
if(fputs(mm1,pa)!=EOF)
{
printf("%s",mm1);//这里要删除的奥。。。。。。。。。。。。。。
printf("修改成功,请从新登入");
goto cl;
}
else
{ printf("修改出错,请从新修改:");
goto gl;
}
}
fclose(pa);
dl:
system("cls");
printf("请从新登入:\n");
cl:;

}
在这个名为修改的函数中。。一开始最上面那从文本文件中读取8位密码的部分老出错。。用了三种办法。。用注释隐藏了两种。。三种都不行。。弄了2个小时,,没结果,,今早一运行,,,能读取了,,,很无语。。。
今天是下面那部分写入顺序文件的部分。。搞了半天,,,那个要删除的printf能输出正常的mm1,但是就是写不进文本文件。。运行是提示修改成功那段程序。。可文本文件硬是什么都没有。。然后把这部分截出来单独运行。。他又能写进去。。3个半小时了。。。我都快疯了。。。我承认我很水。。。希望大神们救救。。。
...全文
111 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
h__chen 2011-07-31
  • 打赏
  • 举报
回复
回复7楼:
因为我用fread读取文本文件读得出来所以才这样问
h__chen 2011-07-31
  • 打赏
  • 举报
回复
回复8楼:
函数时读取文件中的8位密码。。拿出来修改在放回去。。。主要是最后放回去那段总是放不进去。。运行完打开文件什么都没有。。但是单独拿出那段去运行就可以。。放在这里面就不行。。很无语。。用的是VC
h__chen 2011-07-31
  • 打赏
  • 举报
回复
回复7楼:
我不懂。。刚学C语言一个月。。。其实你可以直接说下原因
某某9 2011-07-31
  • 打赏
  • 举报
回复
你的代码 太乱了

什么地方错误,函数是什么功能?
AnYidan 2011-07-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 h__chen 的回复:]
顺便问下:fread是不是只能读取二进制?fgets\fgetc\fscanf是只能读取顺序文件,。。还是他们本就想通的。。顺序文件和二进制文件可以互换读取?
[/Quote]

c 标准规定, A stream is a source or destination of data that may be associated with a disk or other peripheral. The library supports text streams and binary streams,

不明白“顺序文件”?
h__chen 2011-07-31
  • 打赏
  • 举报
回复
回复4楼:
不懂额。。用的是vc 电脑是联想Y460
c_losed 2011-07-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 h__chen 的回复:]

回复2楼:
晕。。为什么VC会错误。。。无奈。。
[/Quote]
额 vc6没发现异常 功能修改正常。。。
至善者善之敌 2011-07-31
  • 打赏
  • 举报
回复
什么编译器?
h__chen 2011-07-31
  • 打赏
  • 举报
回复
回复2楼:
晕。。为什么VC会错误。。。无奈。。
c_losed 2011-07-31
  • 打赏
  • 举报
回复
vs08运行正常
功能修改正常。。。
h__chen 2011-07-31
  • 打赏
  • 举报
回复
顺便问下:fread是不是只能读取二进制?fgets\fgetc\fscanf是只能读取顺序文件,。。还是他们本就想通的。。顺序文件和二进制文件可以互换读取?

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧