,小弟我需要从文本里读出内容,然后和小弟我从内存中取得的一个字符串对比是否重复
求助,我需要从文本里读出内容,然后和我从内存中取得的一个字符串对比是否重复。
求助,我需要从文本里读出内容,然后和我从内存中取得的一个字符串对比是否重复。
我应该怎么写?
------解决方案--------------------
fread
strcmp
------解决方案--------------------
fgets
strcmp
------解决方案--------------------
仅供参考
求助,我需要从文本里读出内容,然后和我从内存中取得的一个字符串对比是否重复。
我应该怎么写?
文本过滤重复
内存
------解决方案--------------------
fread
strcmp
------解决方案--------------------
fgets
strcmp
------解决方案--------------------
仅供参考
//输出PROG中有但LIST中没有的文本行,即集合PROG-LIST
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <search.h>
#define MAXCHARS 512
int MAXLINES=10000,MAXLINES2;
char *buf,*buf2;
char PROG[256]="PROG";//程序Program需要的文件列表
char LIST[256]="LIST";//dir /b /s生成的实际文件列表List
FILE *fp,*fl;
int i,c,n,L,hh;
int ignore_case=0;
char ln[MAXCHARS];
int icompare(const void *arg1,const void *arg2) {
return stricmp((char *)arg1,(char *)arg2);
}
int compare(const void *arg1,const void *arg2) {
return strcmp((char *)arg1,(char *)arg2);
}
int main(int argc,char **argv) {
if (argc>1) strcpy(PROG,argv[1]);//命令行参数1覆盖PROG
if (argc>2) strcpy(LIST,argv[2]);//命令行参数2覆盖LIST
if (argc>3) ignore_case=1;//若存在命令行参数3,忽略大小写
if ((fl=fopen(LIST,"rt"))==NULL) {
fprintf(stderr,"Can not open %s\n",LIST);
fprintf(stderr,"Usage: %s [PROG] [LIST] [-i]\n",argv[0]);
return 1;
}
if ((fp=fopen(PROG,"rt"))==NULL) {
fclose(fl);
fprintf(stderr,"Can not open %s\n",PROG);
fprintf(stderr,"Usage: %s [PROG] [LIST] [-i]\n",argv[0]);