태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

원래 가장 뒤에 연속된 개행문자만 지우려고 했는데 그게 잘 안되더군요..

그래서 스트링 a에서 뒤부터 개행 문자를 찾고(rfind)  찾은 곳으로 부터 char 하나를 지웠습니다.(erase)

그런데 그 뒤에 개행문자를 찾는 지점과 문자열 a의 사이즈를 찍어봤더니...

a 사이즈 : 200
개행문자 찾은 지점 : 200

(위의 과정을 하번 겪은 후에)
a 사이즈 : 199
개행문자 찾은 지점 : 198
(위의 과정을 한번 더 겪은 후에)
a사이즈 : 198
개행문자 찾은 지점:197
.
.
.
.
이게 도대체 뭐하자는 건가...싶어서 곰곰히 생각을 해봤는데

리눅스에서 개행문자는 \r이라는 것이 생각이 나더군요..

뭐 아무튼 각설하고 아래 주석 보시면서 윈도우에서 리눅스로 넘어가면서 스트링을 바로 처리하셔야 할 때는 참고하세요~

(dos2unix를 쓰면 안되나요? --> 해봤는데.. 안됩니다.....이유는 잘 모르겠습니다..아무튼..좀 호환성이..참....애매 하네요 -_-).......)

     8 void delete_newline(string &a)
     9 {
     10     while(1)
     11     {
     12         int pos = a.rfind('\n'); //개행 문자 찾아서 pos로 변수 지정
     13         if(pos != -1 ) //찾는것이 있으면
     14         {
     15             a.erase(pos-1,2); //문자 2개를 지움, 이때 pos에서 2개가 아닌 pos-1에서 2개를 지움
                      //\r\n의 형식으로 되어 있기 때문에 뒤에 문자를 찾게 되겠죠? 그래서 그런듯 싶네요..
     16
     17         }
     18         else
     19             break;
     20     }
     21 }

오늘 오전 내내 이것만 하였군요..

그럼 다들 즐프 하세요 ~_~)~
=====================================================================================

사용법 :
iconv -c -f 변환대상코드 -t 변환될코드 변환대상코드파일명 > 변환될코드파일명


=====================================================================================


예를 들어서 설명드리겠습니다.

unicode.txt라는 파일이 있고 euckr.txt라는 파일이 있습니다.

각각 유니코드와 아스키코드로 파일 포맷이 정의되어 있습니다.

유니코드를 아스키코드로 바꿔보겠습니다.

iconv -c -f UNICODE -t euc-kr unicode.txt > changed_euc-kr.txt

위와 같이 쓰게 되면 유니코드 파일이 아스키코드로 변환되어 changed_euc_kr.txt라는 파일이 생성됩니다.
[단, unicode.txt 파일은 변환되지 않습니다. 즉 복사본이 아스키코드로 생긴다는 것이죠.]

이번에는 아스키코드를 유니코드로 바꿔보겠습니다.

iconv -c -f euc-kr -t UNICODE euckr.txt > changed_unicode.txt


내용은 위에서 설명드린것과 마찬가지이기 때문에 생략하도록 하겠습니다~
제가 요즘 버클리 디비를 사용해서 코딩을 하고 있는데요.

리눅스를 써야지 써야지 써야지 하면서도 하나하나 일일이 설정해 주는 리눅스의

성격과 컴파일 할때 마다 이것 저것 해줘야 되는 귀차니즘으로 인해서 VS에서 코드짜고

리눅스에서 쓰고 이런 방법으로 했었는데요 -_-);;;;;;; 

이제 리눅스로 쭈욱 프로그램 짤 때는 리눅스로 해야 겠다는 생각이 팍팍 들더라구요.

그래서 제 친구 블로그에 있던 링크를 퍼 왔습니다.

저도 처음 보는거라서 아직 좀 헷갈리기도 하고 리눅스에 대한 공부를 소홀히 해서

.o 랑 컴파일 구조랑 컴파일 순서 같은게 아직 이해가 잘 안되는데요....

이제 열심히 해야죠 ~_~)~

링크 :
http://kldp.org/KoreanDoc/html/GNU-Make/GNU-Make.html#toc1


링크 출처 :
http://iamzeus84.tistory.com