의견

2013-10-21 9 views
0

요건의견

나는이처럼 보이는 txt 파일을 무시하고 텍스트 파일을 읽어보십시오.

내 프로그램을 실행할 때 포함 파일의 내용을 포함하고 파일에 덤프해야합니다. 덤핑 후에는 이렇게 보입니다.

START: 
<Contents of INC1.txt> 
<Contents of INC2.txt> 
END: 

문제

사용자가 내가 그 내용을 덤프하지 않아야 (/ ** /) 주석에 포함되어 있습니다 만약 내가 직면 문제입니다.

예 : 입력 파일은 다음과 같습니다.

START: 
#INCLUDE "INC1.txt" 
/******#INCLUDE "INC2.txt"**** 
This is a test message*******/ 
END: 

그리고 덤프는 다음과 같아야합니다.

START: 
<Contents of INC1.txt> 
/******#INCLUDE "INC2.txt"**** 
This is a test message*******/ 
END: 

의견을 무시할 수있는 쉬운 방법이 있습니까? 여러 줄 주석 (/ ** /) 만 지원해야합니까?

의견을 제공하십시오.

미리 감사드립니다.

+5

컴파일러의 전 처리기 (예 :'cc -E')를 사용할 수 있습니까? –

+1

텍스트 처리를 처리하는 가장 좋은 방법은 스크립트를 사용하는 것입니다. PERL 스크립트를 사용하여 몇 줄의 코드로 요구 사항을 구현할 것을 권합니다. 그러나 이것을 C로 구현하고자하는 경우에는 자신 만의 함수를 작성하거나 사전 정의 된 컴파일러 기능을 사용하여 처리중인 입력 파일의 주석을 제거 할 수 있습니다. – Anand

+1

주석은 항상 줄의 시작과 끝에서 시작하고 끝나나요? 또는 '/ *'시퀀스가 * data *에도 나타날 수 있습니까? 코멘트 끝 부분의 하드 리턴이 제거되어야합니까? 주석이 시작될 수도 있지만 끝나지 않을 수 있습니까? (그리고 그 경우, 다음 파일로 "계속"해야합니까? – usr2564301

답변

1

문자로 파일을 읽고 현재 문자와 이전 문자를 추적하십시오. 캐릭터. 이전 문자가 /이고 현재 문자가 * 인 경우 이전 문자를 복사하여 복사하지 말고 문자가 */이 될 때까지 시작하지 마십시오.

또는 정규식을 사용하십시오. sed이 최소한의 노력으로이를 수행 할지라도 아마도 C 라이브러리가있을 것입니다.

0

문자열 조작을 사용해야하고 "/ "을 찾고 플래그가 설정되어 있으면 주석의 경우 원하는대로 do를 설정하고 " /"재설정 플래그를 찾으려면 설정 플래그를 문자열 조작, 그것은 1 개 플래그 설정 또는 2 플래그 설정 댓글 3 다른 원하는 방법의 방법으로 처리 할 경우 다시 설정하라는 .... --save-임시 직원 옵션

0

사용 gcc가 같아야합니다, 당신 .i 파일을 주석없이 찾을 수 있습니다 ... 아마 당신을위한 해결책을 만날 수 있습니다. 고마워,자인