batch 파일로 SQL 을 돌릴때 multi line query 작동하기 위해 만들었습니다.
read.txt 파일안에 다음과 같이 있습니다.
insert into SCHOOL values
(100, 'SEOUL','AAA');
insert into SCHOOL values
(200, 'BUSAN','BBB');
결과 파일은 다음과 같겠습니다.
insert into SCHOOL values (100, 'SEOUL','AAA');
insert into SCHOOL values (200, 'BUSAN','BBB');
...
read 파일은 이미 읽었다고 가정한후
...
long lSize;
char * buf;
char *p;
size_t result;
// Get total size of file
fseek (fp , 0 , SEEK_END);
lSize = ftell (fp);
rewind (fp);
buf = (char*) malloc (sizeof(char)*lSize);
result = fread (buf, sizeof(char), lSize, fp);
p = buf;
FILE *w_fp;
if ((w_fp = fopen("write.txt", "w")) == NULL)
{
printf("Could not open file.\n");
fclose(w_fp);
exit(0);
}
char value_of_char[2] = "\0";
for( int i=0 ; i<lSize ; i++)
{
strncpy(value_of_char, &buf[i], 1);
if( strncmp(value_of_char, "\n", 1) == 0 ) // 윈도우 \n 로 검색. 다른운영체제는 ("\n" 또는 "\r")
{
fwrite(" ", sizeof(char), 1, w_fp); // 나중에 추가했습니다. 3개이상 멀티라인이 되었을 때 필요하더군요.
continue;
}
if( strncmp(value_of_char, ";", 1) == 0 )
{
fwrite(";", sizeof(char), 1, w_fp);
fwrite("\n", sizeof(char), 1, w_fp);
continue;
}
fwrite(&value_of_char, sizeof(char), 1, w_fp);
}
free(buf);
fclose(w_fp);
설명은 별거 없이 이해하기 쉽습니다.
'Programming' 카테고리의 다른 글
[Matlab] Scatter 함수 사용하여 Plot 하기 (3) | 2012.09.22 |
---|---|
윈도우7: 괄호가 포함된 파일이름 정확하게 검색하기 (3) | 2012.08.24 |
adb shell - getevent X Y 값 구하기 (0) | 2012.04.10 |
Borland C++ Compiler (Windows) 환경설정 (0) | 2012.03.13 |
soft (0) | 2011.03.03 |