c언어 질문입니다.
조회수 3321회
안녕하세요 이번에는 파일 입출력 관련 문제가 잇어서 질문 드립니다. 여러개의 js 파일들을 하나로 합치려고 하는데 다음과 같이 코드를 짜니 하나로 각각의 파일도 끝까지 복사가 안되고, 1~4번 js 파일만 합쳐지다 짤리는 결과가 나옵니다. 어떤게 문제 일까요 ㅠㅠ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE * fp3 = NULL;
int size;
char chFileName[6] = { 0 };
fopen_s(&fp3, "combine.js", "w");
fclose(fp3);
for (int i = 1; i <= 11; i++)
{
FILE * fp = NULL;
FILE * fp2 = NULL;
itoa(i, chFileName, 10);
strcat(chFileName, ".js");
fopen_s(&fp, "combine.js", "ab");
fopen_s(&fp2, chFileName, "rb");
if (fp == NULL || fp2 == NULL)
{
printf("file open error ! \n");
return 0;
}
fseek(fp, 0, SEEK_END);
fseek(fp2, 0, SEEK_END);
size = ftell(fp2);
fseek(fp2, 0, SEEK_SET);
char * file = (char*)malloc(sizeof(char*)*size);
fgets(file, size, fp2);
fputs(file, fp);
free(file);
fclose(fp2);
fclose(fp);
printf("FILE[%d] complate!\n", i);
}
}
코드 초보자라 많은 도움 부탁드리겠습니다. (__)
이제보니 JS파일에 개행문자 때문에 거기가지만 복사가 되서 그러는군요.
@_@ 개행문자만 빼는 방법이 있으려나요?
while(fgets(file, size, fp2))
{
p = strchr(file, '\r');
if (p)
*p = 0;
p = strchr(file, '\n');
if (p)
*p = 0;
printf("%s\n", file);
}
fgets 부분을 이렇게 바꿔 봤는데 여전 하네요 ㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력