70,023
社区成员




#include "stdio.h"
#include "string.h"
#define DST_FILE "dst.txt"
#define SRC_FILE "src.txt"
#define MAX_LEN 256
static char achBuf[MAX_LEN] = {0};
static int RemoveSameStringLine(int argc, char **argv)
{
FILE *fpSrc = NULL;
FILE *fpDst = NULL;
char achStr[50] = {0};
int nCount = 0;
int nArgc = 0;
char achSrcF[50] = {0};
#if 1
if (argc < 2)
{
printf("parameter is less than < 2\n");
return -1;
}
strcpy(achSrcF, argv[1]);
strcpy(achStr, argv[2]);
printf("argc: %d\n", argc);
for (nArgc = 0; nArgc < argc; nArgc++)
{
printf("argv[%d]: %s\n", nArgc, argv[nArgc]);
}
for (nArgc = 3; nArgc < argc; nArgc++)
{
strcat(achStr, " ");
strcat(achStr, argv[nArgc]);
}
#else
strcpy(achSrcF, SRC_FILE)
strcpy(achStr, SEEK_STR);
printf("argv:[0]-%s,[1]-%s,[2]-%s\n", argv[0], SRC_FILE, SEEK_STR);
#endif
printf("File:%s find str:\"%s\", and remove this str line\n", achSrcF, achStr);
fpSrc = fopen(achSrcF, "rt");
if (NULL== fpSrc)
{
printf("Open source file: %s failed\n", SRC_FILE);
return -1;
}
fpDst = fopen(DST_FILE, "wt");
if (NULL== fpDst)
{
printf("Create source file: %s failed\n", DST_FILE);
fclose(fpSrc);
return -1;
}
nCount = 0;
while (!feof(fpSrc))
{
memset(achBuf, 0, sizeof(achBuf));
fgets(achBuf, sizeof(achBuf), fpSrc);
if (NULL == strstr(achBuf, achStr))
{
fputs(achBuf, fpDst);
}
else
{
nCount++;
}
}
fclose(fpSrc);
fclose(fpDst);
printf("Total Count Same string:%d\n", nCount);
return 0;
}
int main(int argc, char *argv[])
{
int nRet;
nRet = RemoveSameStringLine(argc, argv);
printf("RemoveSameStringLine-ret:%d\n", nRet);
return 0;
}
#include<stdio.h>
int read(char *fn,char a[][100],int maxLine)
{
FILE *f=fopen(fn,"r");
int i=0;
if(f)
{
while(!feof(f))
{
fgets(a[i],100,f);
if(++i>=maxLine)
{
break;
}
}
}
fclose(f);
return i;
}
char a[500][100];
void main()
{
int i=0;
int n=read("c:\\service.log",a,500);
for(i=0;i<n;i++)
{
printf("%s",a[i]);
}
}
#include<stdio.h>
void main()
{
FILE *fin;
fpos_t pos_w,pos_r,pos;
int i,k,L=3;
char *one_line;
one_line = (char *) malloc(1000*sizeof(char));
fin = fopen ("a.txt","rb+");
for (i=1;i<L;i++) fgets(one_line,999,fin);
fgetpos (fin,&pos_w);
fgets(one_line,999,fin); // delete
fgetpos (fin,&pos_r);
pos = pos_r;
while (1 == 1)
{
fsetpos (fin,&pos);
if (fgets(one_line,999,fin) ==NULL) break;
fgetpos (fin,&pos_r);
pos = pos_w;
fsetpos (fin,&pos);
fprintf(fin,"%s",one_line);
fgetpos (fin,&pos_w);
pos = pos_r;
}
pos = pos_w;
fsetpos (fin,&pos);
k = strlen(one_line);
for (i=0;i<k;i++) fputc(0x20,fin);
fclose(fin);
}