用c 编写的笔记搜索程序

@{@XXX文本记录@}@ 文本记录格式 xxx 搜索词条

复制代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void){
	FILE *f=fopen("help.txt","r");
	if(f==NULL){
		perror("file");
		return -1;
	}
	char nr[2000];
        
	fseek(f,0,SEEK_END);
	long len=ftell(f);


	rewind(f);
   
        char txt2[len];
	for(int t=0;t<len;t++){
		txt2[t]=fgetc(f);
	}
//	fclose(f);

  	int d=0;
	int  wz=0;
	char txt1[10];

       char bz1[10]; 
       int t=0;
       int k=0;
       char txt[len];
       char bz[14];

a:       scanf("%s",bz1);
	 strcpy(bz,"@{@");
 	memcpy(txt,txt2,len);	 
	 strcat(bz,bz1);
         
	 printf("%s\n",bz);
	 d=0;
	 wz=0;
	 memset(nr,0,2000);

	for(int t=0;t<(len-4);t++){
		if(t==(len-3))  break;
		if(((txt[t]=='@')&&(txt[t+1]=='{')&&(txt[t+2]=='@'))||(wz==1)){
			wz=1;
			nr[d]=txt[t];
	 		d++;
		
						
		}

		if((txt[t]='@')&&(txt[t+1]=='}')&&(txt[t+2]=='@')) {
			d=0; 	   
		       wz=0;

	       		memset(txt1,0,10);	       
       		       memcpy(txt1,nr,strlen(bz));

		       if(memcmp(bz,txt1,strlen(bz))==0){

		       		system("clear");
	              		printf("%s\n",nr);
		      		memset(nr,0,2000);
				memset(bz,0,10);
			    
       				goto a;
		       }
			memset(nr,0,2000);
			
		}
		
	}

      
	puts("没有匹配函数");
       goto a;
	return 0;
}
相关推荐
小羊没烦恼!1 分钟前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#
学Linux的语莫33 分钟前
python中类的常见写法
开发语言·python·状态模式
需要82635 分钟前
容器化 Java:镜像瘦身与 JVM 容器感知(cgroup)
java·开发语言·jvm
dyxal1 小时前
A2A 协议 v1.0 完全指南:方法名、Agent Card、三种绑定与 FastAPI 实战
开发语言·qt·fastapi
譕痕1 小时前
Rabbit 实例
java·开发语言·java-rabbitmq
大叔学Linux1 小时前
FreeRTOS任务切换笔记
arm开发·笔记
综合简报1 小时前
黑五海外发稿投给谁?三类海外媒体发稿渠道的分工
开发语言·php·媒体
大风起兮云飞扬丶1 小时前
Java——线程池
java·开发语言
本地化文档2 小时前
llvm-libc-docs-l10n
c语言·github·gitcode·sphinx·llvm·crowdin
我命由我123452 小时前
Python 开发 - Python 虚拟环境
运维·开发语言·后端·python·http·https·java-ee