每个英文单词后面有中文注释,存在\n换行符。 准确查找并输出。

我有个TXT文件,里面包含10W个单词,要求,用户输入单词,在TXT文本中精确查找,并输出。我只学会了读取TXT文本
#include <stdio.h> 
#include<stdlib.h> 
int main() 

FILE *fp; 
char ch; 
if((fp=fopen("C:\\Users\\hp\\Desktop\\words.txt","r"))==NULL) 

printf("cannot open the file!"); 
exit(0); 

ch=fgetc(fp); 
while(ch!=EOF) 

putchar(ch); 
ch=fgetc(fp); 

fclose(fp); 
return 0;
}

Helenr
浏览 79回答 2
2回答

叮当猫咪

//每个单词之间必须用换行符隔开#include <stdio.h>#include <malloc.h>#include <string.h>#define BUF_MAX 1024int main(){char findStr[100];char *pStr=(char*)malloc(BUF_MAX);FILE*pFile;if((pFile=fopen("C:\\Users\\hp\\Desktop\\words.txt","rt"))==NULL){fprintf(stderr,"打开文件错误");return 1;}puts("请输入你要查找的单词:");scanf("%s",findStr);bool bFind=false;while(fgets(pStr,BUF_MAX-1,pFile)!=NULL){if(strstr(pStr,findStr)!=NULL){bFind=true;printf("%s",pStr);}}if(!bFind)puts("没有找到");fclose(pFile);return 0;}

紫衣仙女

c语言读取文件并输出的代码如下:#include<stdio.h>inta;charb,c[100];intmain(){FILE*fp1=fopen("input.txt","r");//打开输入文件FILE*fp2=fopen("output.txt","w");//打开输出文件if(fp1==NULL||fp2==NULL){//若打开文件失败则退出puts("不能打开文件!");return0;}fscanf(fp1,"%d",&a);//从输入文件读取一个整数&nbsp;&nbsp;&nbsp;b=fgetc(fp1);//从输入文件读取一个字符fgets(c,100,fp1);//从输入文件读取一行字符串printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数fputs(c,fp2);//向输出文件写入一行字符串fputc(b,fp2);//向输出文件写入一个字符fprintf(fp2,"%d",a);//向输出文件写入一个整数fclose(fp1);//关闭输入文件fclose(fp2);//关闭输出文件,相当于保存return0;}C语言中使用fopen()函数实现文件的读取,使用fgetc()函数读取文件中的字符,使用fclose()实现文件的关闭,注意:打开文件流必须要关闭文件流,不然会持续占用计算机内存资源。&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP