为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
Helenr 2023-03-06 12:08:37
我有个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;}
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

//每个单词之间必须用换行符隔开

#include <stdio.h>
#include <malloc.h>
#include <string.h>
#define BUF_MAX 1024
int 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;
}


查看完整回答
反对 回复 2023-03-08
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

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);//从输入文件读取一个整数   

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()实现文件的关闭,注意:打开文件流必须要关闭文件流,不然会持续占用计算机内存资源。

 


查看完整回答
反对 回复 2023-03-08
  • 2 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信