안녕하세요 파일 합치기 함수!
연블루
질문 제목 : 병합 함수 코드 입니다.쪼개진 파일들을 합치는데 합쳐졌다가 합친 파일이 0이 되기도 하고 오락가락하네요;질문 내용 : 분할 프로그램은 완성 하였습니다..
vi 상에서 코딩 하였고 분할 프로그램은 사용자가
./split test.txt 10
이런 식으로 명령어를 내리면 파일이 10kbyte단위로 test.txt0, test.txt1, test.txt2 이렇게 분할이 됩니다.
그런데 이 병합 함수는
/merge test.txt
이 형태로 명령어를 내려서 그 쪼개진 함수들이 합쳐지게 하는 역활인데요.
코드는 다음과 같습니다.
#include stdio.h
#include unistd.h
#include stdlib.h
int main(int argc, char *argv[])
{
file *fp, *ip;
char name[10];
char buf[10000];
int num=0;
size_t byte_in, byte_out;
long file_size = 0;
if(argc != 2)
exit(-99);
ip = fopen(argv[1], wb);
while(1)
{
sprintf(name, %s%d, argv[1], num);
printf(%s\n, name);
fp = fopen(name, rb);
if(fp == null)
{
printf(end of file!!\n);
fclose(fp);
break;
}
fseek(fp, 0l, seek_end);
file_size = ftell(fp);
fseek(fp, 0l, seek_set);
byte_in = fread(buf, 1, file_size, fp);
byte_out = fwrite(buf, 1, byte_in, ip);
num++;
fclose(fp);
}
fclose(ip);
}
그런데 파일들이 합쳐지고 글씨도 안깨지긴 하는데 파일들이 다 붙지가 않고, 합쳐진 파일들의 내용이 지워지는 경우도
생기네요 함수들중에 잘못 사용한 부분이 있는거 같은데 조언 부탁드립니다.
-
어둠 2025-05-13
흠... 돌려보지를 않았지만, 10KB = 10 * 1024 byte = 10240 byte니까 char buf[10240];으로 해야하지 않을까요?
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2697129 | [질문] 아래 저축액을 계산하는 프로그램 ㅠ 추가 질문 (7) | 찬늘 | 2025-06-05 |
2697072 | 쌩초보 질문! (1) | 얀 | 2025-06-04 |
2697050 | 도움부탁드립니다.. | 화이트 | 2025-06-04 |
2697023 | gotoxy함수, 어떻게 사용하죠? (3) | 적송 | 2025-06-04 |
2696994 | c언어를 막 시작한 초보인데 질문이 있어용 ㅠㅠ (2) | 귀1여운렩 | 2025-06-03 |
2696944 | 윈도우 콘솔프로그램 질문드립니다 (2) | 꽃님이 | 2025-06-03 |
2696882 | c언어 입력받기 질문 입니다 (2) | 흰추위 | 2025-06-02 |
2696853 | 문자열은 정적메모리에 할당된다고 하는데 정적메모리가 뭡니까?? (6) | 다온 | 2025-06-02 |
2696799 | c c++언어입문전에 파이톤이나 자바스크립트배워두면.. (2) | 앨런 | 2025-06-02 |
2696747 | size of 연산자에 대해 질문이 있습니다. (3) | 유진공주 | 2025-06-01 |
2696721 | Char 타입의 2D array 기초에 대해 질문드립니다. | 벚꽃 | 2025-06-01 |
2696691 | 자릿수 이동방법좀 가르쳐주세요 (1) | 흰추위 | 2025-06-01 |
2696664 | 학생정보 구조체 질문 | 큰아 | 2025-05-31 |
2696619 | c언어에서는 논리형을 어떻게 표현하나요? | 은율 | 2025-05-31 |
2696590 | 구조체 리스트 입니다..... (4) | 피네 | 2025-05-31 |
2696565 | 스택 미로찾기 소스코드 오류 질문드립니다 | 크나 | 2025-05-30 |
2696512 | 포인터를 배열처럼 이용하려는데 잘 모르겠습니다. | 재찬 | 2025-05-30 |
2696465 | 이해가 가지 않는것이 있어 질문합니다. (3) | 깜찏한그1녀 | 2025-05-29 |
2696411 | 질문... 힌트좀 주세요~ | 초코향 | 2025-05-29 |
2696379 | c언어 반복문 중괄호 질문입니다. (6) | 일본드립 | 2025-05-29 |