#include<stdio.h>
#include<string.h>
int main()
{
FILE *fp;
char ch;
int n=0,m,p=0;
char str1[80],str2[80];
printf("请输入要查找的字符:\n");
scanf("%s",str1);
getchar();
if((fp=fopen("e:名字.txt","rt+"))==NULL)
{
printf("打开错误,按任意键退出.");
getchar();
return 0;
}
m=strlen(str1);
do
{
fread(&str2[0],m,1,fp);
fseek(fp,m,p);
p=p+m;
printf("%s %s",str1,str2);
getchar();
n++;
}while((strcmp(str1,str2))!=0);
printf("%d",n);
fseek(fp,m*n,0);
ch=fgetc(fp);
while(ch!='#')
{
putchar(ch);
ch=fgetc(fp);
}
getchar();
fclose(fp);
return 0;
}
1楼
我想做一个关于仙剑诗词查询的程序 我想的是我先输好一个txt文件 里面都是仙剑的诗词 我在每首诗的后面加上一个# 前面有题目 然后查询的时候输入题目给一个字符数组 然后打开那个 txt文件 开始向这个另一个数组中读入这个txt文件中的字 每次读入名字同样字节的汉字 然后对比两个数组是否一样 如果一样就停止 开始从这个查到相同地方的下一个字开始输出到屏幕上面 知道# 停止
m=strlen(str1);
do
{
fread(&str2[0],m,1,fp);
fseek(fp,m,p);
p=p+m;
printf("%s %s",str1,str2);
getchar();
n++;
}while((strcmp(str1,str2))!=0);
我后来检测的时候让他 每次对比完 都输出两个字符数组的内容 发现 第二个字符数组虽然是按照 我题目同样的字节数读入 但是每次显示的时候都会多一个 箭字和一个这个~符号 这怎么办?