2014-01-17 2 views
-2

저는 "C"프로그래밍의 초보자입니다. 어떤 종류의 정적 구성 파일을 사용하여 입력 파일을 다른 형식/출력 파일로 변환 할 계획입니다. 예컨대 들어동적 FileFormat 변환 - C 프로그래밍

: 입력 파일 내용 : HDRUS15Jan2014153600MY22Jan2014000000KUL DTLUSANZABC 개인 회사, 애리조나 53213. DTLMYKULJS 수단 Bhd, 쿠알라 룸푸르 49000.

출력 파일 내용 : ANZ15Jan2014153600 ABC 개인 회사, 애리조나 53213. KUL22Jan2014000000 JS 수단 Bhd, 쿠알라 룸푸르 49000.

힌트 : 입력 파일 형식은 고정 길이이며 HDR & DTL 키워드는 라인 식별자입니다. 콘텐츠 추출의 하드 코딩을 피하고 싶었습니다. 대신 구성 파일을 기반으로 입력 파일 내용을 추출하고 출력 파일을 구성하는 구성 파일을 원했습니다.

이 개념을 사용하면 소스 코드를 수정하지 않고 출력 파일에 추가 정보를 생성 할 수 있습니다. 구성 파일을 변경하는 중입니다 ...

어떤 생각을하실 수 있습니다.

+0

read : fgets, copy : strncpy 및 strcpy. – BLUEPIXY

답변

0

입력에 json 또는 xml과 같은 잘 알려진 데이터 표현 형식을 사용하지 않는 이유는 무엇입니까? 미래

JSON은 좋은 선택이 될 것입니다 변화와 C에 대한 implememtaions가와 형식의이 종류를 사용하여 당신이

EDIT (libjansson 등) 아무런 문제가 없습니다

확인, 다음 몇 가지 형식을 (내가 ... JSON을 선호)를 사용, 파일에 구성 데이터를 저장 당신은 오프셋 필요하고 렌 infomration :

[ 
     { 
     offset: 0, 
     len: 10 
     } 
     { 
     offset: 10, 
     len: 10 
     } 
    ] 

그러면 프로그래머에서이 파일을 읽고 입력을 구문 분석하는 데 정보를 사용할 수 있습니다.

int offset = getOffset(0); 
    int len; = getLen(0); 
    int i; 
    for(i = offset; i<len; i++) 
    { 
     doSomething(input[i]); 
    } 
+0

네이티브 또는 레거시 데이터 흐름이 여전히 ACTIVE 상태이며 XML 형식으로 변환 할 수 없습니다. 따라서 고정 길이 입력 형식 파일을 고정 길이 형식의 출력 파일로 변환하는 몇 가지 제안을 찾고 있습니다. – RaviShankar