69,374
社区成员
发帖
与我相关
我的任务
分享
[code=css]#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define maxline 1000
int main(int argc,char *argv[]){
char line[20];
FILE *fp;
char *p;
p = (void *)malloc(30);
int i = 1;
if((fp = fopen(*++argv,"r")) == NULL){
printf("cann't open file!\n");
}
if(argc != 3){
printf("wrong!\n");
}
else{
while(fgets(line,maxline,fp)){
if(strstr(line,argv[1]) != NULL){
printf("found \"%s\" in line:%d\n",argv[1],i);
}
i++;
}
}
return 0;
}
#include <stdio.h>
#include <string.h>
#define MAXLEN 1000
char ln[MAXLEN];
FILE *f;
int i,z;
int b,n,L;
int main(int argc,char **argv) {
if (argc<2) {
printf("Usage:%s fullpathfilename.ext\nget total blank/non-blank/total linenumbers.\n",argv[0]);
return 1;
}
f=fopen(argv[1],"r");
if (NULL==f) {
printf("Can not open file [%s]!\n",argv[1]);
return 2;
}
z=0;
b=0;
n=0;
L=0;
while (1) {
if (NULL==fgets(ln,MAXLEN,f)) break;
L=strlen(ln);
if ('\n'==ln[L-1]) {
if (0==z) {
for (i=0;i<L-1;i++) {
if (!(' '==ln[i] || '\t'==ln[i])) break;
}
if (i<L-1) z=1;//当前行不是空行
}
if (0==z) b++; else n++;
z=0;
} else {
if (0==z) {
for (i=0;i<L;i++) {
if (!(' '==ln[i] || '\t'==ln[i])) break;
}
if (i<L) z=1;//当前行不是空行
}
}
}
fclose(f);
if (L>0 && '\n'!=ln[L-1]) {
if (0==z) b++; else n++;//最后一行末尾无'\n'也计算
}
printf("File:[%s] total blank/non-blank/total linenumbers is %d/%d/%d\n",argv[1],b,n,b+n);
return 0;
}
Windows下的grep
grep 多文件查找指定字符串 来自C:\Program Files\Borland\CBuilder6\Bin\
http://download.csdn.net/detail/zhao4zhong1/4381913
int line_num = 0;
失误,忘初始化了。。。。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUFFER_ZISE 1024
int main()
{
char line_buffer[BUFFER_ZISE];
FILE *file;
char part[] = "test";
file = fopen("test.txt", "r");
if (NULL==file)
{
printf ("Open file fail.\n");
return -1;
}
char *find;
int line_num;
while (!feof(file))
{
++line_num;
fgets(line_buffer, BUFFER_ZISE, file);
find = strstr(line_buffer, part);
if (find!=NULL)
{
printf ("Line %d\n", line_num);
}
}
return 0;
}