c 读文件
c 读文件
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define szBUF 30000
int main(int argc, char * argv[])
{
char filename[szBUF]={0};
char buf[szBUF]={0};
char a[szBUF];
char *need_find_start = "<RoomType>";
int lens_start = strlen(need_find_start);
char *need_find_end = "</RoomType>";
int lens_end = strlen(need_find_end);
char *head = NULL;
char *end = NULL;
// int r = 0;
// int b=0;
FILE * f = 0;
if(argc < 2) {
printf("please input the file name:");
gets(filename);
}
else
strcpy(filename, argv[1]);
//end if
f = fopen(filename, "r");
if(!f) {
printf("file %s open fault!\n", filename);
return 0;
}//end if
while(fgets(buf,30000,f) != NULL)
{
head = strstr(buf, need_find_start);
if(head != NULL)
{
end = strstr(buf, need_find_end);
if(end != NULL)
{
long long int lens = (long long int)(end) - (long long int)(head) - lens_start;
char *strings = (char*)malloc(lens + 1);
strncpy(strings, head + lens_start, lens);
printf("123\n");
printf("%s\n\n", strings);
}
else
{
while(fgets(buf,30000,f) != NULL)
{
end = strstr(buf, need_find_end);
if(end != NULL)
{
long long int lens = (long long int)(end) - (long long int)(head) - lens_start;
char *strings = (char*)malloc(lens + 1);
strncpy(strings, head + lens_start, lens);
printf("123\n");
printf("%s\n\n", strings);
}
}
}
}
/*
head = strstr(buf, "<RoomType>");
int room_lens = strlen("<RoomType>");
if(head != NULL)
{
end = strstr(head, "</RoomType>" );
if(end != NULL)
{
long long int lens = (long long int)(end) - (long long int)(head) - room_lens;
strings = (char*)malloc(lens + 1);
strncpy(strings, head + room_lens, lens);
}
}
*/
}
fclose(f);
return 0;
}
#include <stdlib.h>
#include <string.h>
#define szBUF 30000
int main(int argc, char * argv[])
{
char filename[szBUF]={0};
char buf[szBUF]={0};
char a[szBUF];
char *need_find_start = "<RoomType>";
int lens_start = strlen(need_find_start);
char *need_find_end = "</RoomType>";
int lens_end = strlen(need_find_end);
char *head = NULL;
char *end = NULL;
// int r = 0;
// int b=0;
FILE * f = 0;
if(argc < 2) {
printf("please input the file name:");
gets(filename);
}
else
strcpy(filename, argv[1]);
//end if
f = fopen(filename, "r");
if(!f) {
printf("file %s open fault!\n", filename);
return 0;
}//end if
while(fgets(buf,30000,f) != NULL)
{
head = strstr(buf, need_find_start);
if(head != NULL)
{
end = strstr(buf, need_find_end);
if(end != NULL)
{
long long int lens = (long long int)(end) - (long long int)(head) - lens_start;
char *strings = (char*)malloc(lens + 1);
strncpy(strings, head + lens_start, lens);
printf("123\n");
printf("%s\n\n", strings);
}
else
{
while(fgets(buf,30000,f) != NULL)
{
end = strstr(buf, need_find_end);
if(end != NULL)
{
long long int lens = (long long int)(end) - (long long int)(head) - lens_start;
char *strings = (char*)malloc(lens + 1);
strncpy(strings, head + lens_start, lens);
printf("123\n");
printf("%s\n\n", strings);
}
}
}
}
/*
head = strstr(buf, "<RoomType>");
int room_lens = strlen("<RoomType>");
if(head != NULL)
{
end = strstr(head, "</RoomType>" );
if(end != NULL)
{
long long int lens = (long long int)(end) - (long long int)(head) - room_lens;
strings = (char*)malloc(lens + 1);
strncpy(strings, head + room_lens, lens);
}
}
*/
}
fclose(f);
return 0;
}
完