#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define num 10//
void main()
{
int i;
char j;
FILE* stream;
if((stream=fopen("d:\\data.txt","w+"))==NULL)
{
printf("no foud any files;\n");
}
else
{
for(i=0;i<num;++i)
{
scanf("%c",&j);
fprintf(stream,"%c",j);
}
}
fclose(stream);
char ch; //
if((stream=fopen("d:\\data.txt","w+"))!=NULL)//
{
while(!feof(stream))
{
fread(&ch,sizeof(char),1,stream);
if(ch==' ')
{
printf(" ");
}
else
{
if(ch=='\n')
{
printf(" ");
}
else
{
if(ch=='<')
{
printf("<");
}
else
{
if(ch=='>')
{
printf(">");
}
else
{
printf("%c",ch);
//
}
//
}
//
}
//
}
//
}
}
else
{
printf("no foud any data;\n\n");
}
fclose(stream);
}
//输出来是乱码,为什么?
帮忙看下我的这个程序代码
答案:1 悬赏:50 手机版
解决时间 2021-05-17 06:52
- 提问者网友:绫月
- 2021-05-17 00:06
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-05-17 01:07
你这段程序很混乱,又长,估计好多人都不愿意看完,大致分析一下,程序分两段,第一部分,从键盘读入字符写入到d:\data.txt,这部分应该没问题。
第二部分从刚才的文件读出数据显示在屏幕上,
这部分就问题多多了!!!
首先
fclose(stream);
char ch; //
if((stream=fopen("d:\\data.txt","w+"))!=NULL)// 这句应该不正确
你既然要读出文件,应该用"r",而不能用“w+”
之后大量的if ,既混乱又容易出错,建议改用 case语句
另外,"<"、">"的判断似乎无意义。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯