'문자열'에 해당되는 글 2건

  1. 2009.08.31 vi 문자열 치환 2
  2. 2008.09.22 error C2664: 'CreateFileW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'
2009. 8. 31. 10:07

vi 문자열 치환



'vi 에서 문자열을 편하게 바꾸고 싶다. '

그간 바꾸고자 원하는 단어나 문자열을 지우고 바꾸는 단순 무식한 방법을 사용했다. 가장 간단하고 쉬우니깐!!
하지만, 여러개의 동일한 단어나 문자열을 다른 동일한 단어나 문자열로 바꾼다고 했을 때.. 그간 사용했던 방법은 정말 왕 무식한 방법이다.

사용법은 의외로 간단하다.
:%s/기존 문자열/바꿀 문자열/g

예를 들어 babo라는 문자열을 baba로 바꾸고 싶다면..
:%s/babo/baba/g
라고 하게 되면, vi 로 열고 있는 문서의 모든  babo라는 문자열을 baba로 바꾸게 된다.

아래는 문자열을 치환하고자하는 방법에 따라 몇가지 종류를 나열한 것이다.
필요할 때 참고하면 될듯..
:s/기존 문자열/바꿀 문자열/             - 커서가 있는 행에서 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:s/기존 문자열/바꿀 문자열/g           - 커서가 있는 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/g        - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/gc      - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환, 치환시 확인
:1,20s/기존 문자열/바꿀 문자열        - 1~20 행에서 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:1,20s/기존 문자열/바꿀 문자열/g     - 1~20 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/    - 커서 위 2, 아래 4행 중 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/g  - 커서 위 2, 아래 4행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환

더 많은 내용은 'KLDP의 vi, vim 활용에 관한 문서'를 참조하면 될 듯 하다.

'Linux > Tip' 카테고리의 다른 글

우분투 / 데비안 계열 고정 ip 설정  (4) 2010.01.06
diff and patch in linux  (0) 2009.12.12
Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제..  (1) 2009.08.25
예쁜 쉘 프롬프트  (1) 2009.03.18
리눅스 IP 설정  (0) 2008.04.24
2008. 9. 22. 10:34

error C2664: 'CreateFileW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'


VS2005를 사용하면서 'error C2664: 'CreateFileW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR''라는 에러 메시지를 종종 보게 된다.

CreateFile()라는 함수를 사용할 때 첫번째 인자의 형식이 잘못된듯한데.. 지금 사용하고 있는 CreateFile()라는 녀석을 보면 CreateFile("aaa.txt",GENERIC_READ,0,NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL)로 문자열을 처리하는 부분이다.
"aaa.txt"라는 문자열을 사용하고 있었는데.. 이를 TEXT("aaa.txt")라든지 L"aaa.txt"로 바꾸어주면 에러가 발생하지 않는다.

하지만.. 다른 문제가 발생해 버렸다. 메지시 박스로 테스트 문자열을 출력하는데 다음과 같이 문자열이 깨져나오는 현상이 발생을 한 것이다.

이 부분을 해결하기 위해서는 문자 집합(Character Set)의 설정을 바꾸어 주어야 하는 모양이다.
VS2005의 메뉴에서 Project->Properties...(Alt+F7)을 선택하여 해당 프로젝트의 프로퍼티 창을 연다. 왼쪽의 항목을 보여주는 창에서 Configuration Properties의 General에서 Character Set 항목을 살펴본다. 기본적으로 VS2005에서는 Character Set이 'Use Unicode Character Set'으로 되어 있는 듯 하다. 이녀석의 세팅을 'Use Multi-Byte Character Set'으로 수정을 한다.

다시 컴파일을 한 뒤 실행을 시키면 원하는 결과를 얻을 수 있을 것이다.

한결 보기 좋아졌다... 아니 많이 보기 좋아졌네..

간단한 것인데.. 툴에 대해 모르는 것이 너무 많아 고생을 많이 하는 부분중에 하나인 듯 하다.