오딘(Odin) 3.09 버젼 다운로드

2016.01.10 19:42


Odin_v3.09.zip




Odin_v3.09.zip



fatal error C1004: unexpected end of file found 에러 뜰 때

2016.01.07 18:14
fatal error C1004: unexpected end of file found 에러가 뜰 때에는

보통 함수의 괄호를 안닫아줘서 함수블럭이 안맞거나


전처리문 #if, #ifdef.. 등을 사용하고 #endif를 안해줬을때 발생한다.


대부분 후자의 경우에 뜬다.




c/c++ 접두어

2016.01.06 13:48
  • a : 배열 (Array)
  • b : BOOL 형 변수 (Boolean)
  • by : BYTE 형 변수 (Byte, = unsigned char)
  • c : 카운터 변수 (Counter, = int)
  • cb : 바이트의 개수
  • ch : char형 변수 (Character, = char)
  • cx : X 좌표용 변수 (Coordinate X Value, = int)
  • cy : Y 좌표용 변수 (Coordinate Y Value, = int)
  • d : 날짜형 변수 (CDate)
  • dbl : double형 변수 (Double, = double)
  • dw : Unsined Long (DWORD)
  • f : BOOL 형 변수 (Flag)
  • h : 핸들형 변수 (Handle, = HANDLE)
  • n : 자연수형 변수 (Natural Number, = int)
  • i : 정수형 변수 (Integer, = int)
  • i : 인덱스 (Index)
  • l : long형 변수 (Long, = long)
  • m_ : 특정 클래스의 멤버 변수 (Member Variable)
  • p : 포인터 변수 (Pointer, = [type]*)
  • lp : long/far 포인터 변수 (Long/Far Pointer)
  • 32비트 프로그래밍에서는 일반 수준의 포인터로 취급함
  • 16비트 프로그래밍에서는 먼 거리의 포인터로 취급함
  • s : 문자열 (String)
  • sz : NULL (= \0)로 끝나는 문자열 (String)
  • u : 자연수 중 양수형 변수 (Unsigned Integer, = unsigned int)
  • w : WORD형 변수 (Word, = unsigned short)
  • dw : DWORD형 변수 (Double Word, = unsigned long)
  • str : CString형 변수 (String)
출처 : http://unidri.tistory.com/38


'Programming' 카테고리의 다른 글

[C++/MFC] Screen Capture  (0) 2016.06.13
fatal error C1004: unexpected end of file found 에러 뜰 때  (0) 2016.01.07
c/c++ 접두어  (0) 2016.01.06
CString Format함수 에러  (0) 2015.12.30
C++ String 정리 (C++ 문자열)  (0) 2015.12.28
[MFC] 그리드컨트롤 체크박스 사용  (0) 2015.10.28


CString Format함수 에러

2015.12.30 11:00

아래와 같은 오류가 발생할때에는 프로젝트 환경이 유니코드환경일 경우이다.


'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t * ,...)' :

매개 변수 1을 'const char [6]'에서 'const wchar_t *'으로 변활할수 없습니다 


CString Format 멤버함수를 사용하기 위해서는

아래와 같이 수정하여 사용한다.


수정 전 :



CString strtest;
strtest.Format("%d",nIndex);


수정 후 :


CString strtest;
strtest.Format(_T("%d"),nIndex);


유니코드환경에서는 _T로 포맷스트링을 감쏴줘야한다.


C++ String 정리 (C++ 문자열)

2015.12.28 11:18

출처 : http://makerj.tistory.com/127

C++ String 정리 (C++ 문자열)


C++11 환경에서 정리한 글입니다

또한 using namespace std를 한 상태임을 밝힙니다



[string 생성]


1 >>

string myString = "abcd";


2 >>

string myString;

myString = "abcd";


중요!

1번 방식으로는 'a'와 같은 char로 생성이 불가능하다.

따라서 'a'와 같은 char로 생성하려면 2번 방식을 써야한다

string myString;

myString = 'a' ( O )








[string 확장, 문자열 추가]


string myString = "abc";이라는 문자열이 있다면


myString += "blahblah"; 와 같이 추가할 수 있다


또는


myString.append("blahblah");와 같이 추가할 수 있다


한 글자. 즉 char를 append로 확장하려면


myString.append("a"); 와 같이 하면 된다. myString.append('a');는 불가능하다






[string 길이]


string myString = "abc";이라는 문자열이 있다면


myString.size()

myString.length()


으로 문자열의 길이를 받을 수 있다.


*** size()와 length()는 결과가 완전히 동일하다


[string 길이 2]


myString.capacity()는 실제로 myString이 갖고 있는 길이를 반환한다

myString.max_size()는 myString이 최대로 갖을 수 있는 길이를 반환한다








[string의 특정 위치 문자 받기 (charAt 기능) ]


string myString = "abc";이라는 문자열이 있다면


myString.at(0) >>>>> 'a' 반환

myString.at(1) >>>>> 'b' 반환


이와같이 java의 charAt과 같은 기능을 수행한다.








[string에 있는 특정 문자 검색]


string myString = "This is my String";이라는 문자열이 있다면


myString.find("my");를 통해 "my"라는 문자열이 시작되는 위치를 반환한다


이를 활용하면


if (myString.find("my") != string::npos) {


 // "my"라는 문자열을 찾았을 때의 동작


}


으로 활용 가능하다








[string간의 문자열 복사]


string myString  = "acs";


string myString2 ;

myString2 = myString;


이게 다다.


myString의 문자열이 나중에 "bdjxzxddx"라고 바뀐다고 해도

myString2의 문자열은 여전히 "acs"다. 결국 myString2 에는 영향을 미치지 않는다.








[string간의 문자열 비교]


string myString = "abc";

string myStirng2 = "bbc"; 라는 문자열이 있다면


myString.compare(myString2)과 같이 비교한다.


이를 활용하면,


if (myString.compare(myString2) == 0) {


  // 두 문자열이 완전히 같은 문자열일때의 처리


} else if (myString.compare(myString2) < 0) {


  // myString의 문자열이 myString2보다 사전순으로 앞일 때 처리


} else if (myString.compare(myString2) > 0) {


 // myString의 문자열이 myString2보다 사전순으로 뒤일 때 처리



으로 활용 가능하다.








[string의 문자열 대체하기 (replace기능) ]


//myString의 "is" 문자열을 모두 "was"로 바꾸는 예제

string myString = "that is is is man";


int pos;

string replaceString = "was";


while( (pos = myString.find("is")) != string::npos) {


myString.replace(pos,replaceString.length(),replaceString);


}


의 방법으로 대체 가능하다.


그러나 이 방법은 대체 문자가 길어지면


기존의 문자를 덮어쓰기 하면서 대체가 이루어진다


ex) 

문자열이 "this is is is man" 일 때,

"is"를  위와 같은 방식으로 "asdgklsjdglsasdf"로 대체한다면

대체된 문자열은 "this asdgklsjdglsasdf"이 되어버린다




따라서 이 현상을 피해 기존의 문자열을 덮어쓰지 않고 진짜 대체만 한 구현은

아래와 같다. (제가 간단히 만든 것이므로 더 좋은 다른 구현방법이 많을 것입니다)


string myString = "that is is is cool is man";
string findString = "is";
string replaceString = "abcdef";

int pos;
while( (pos = myString.find(findString)) != string::npos){

	myString.erase(pos,findString.length());
	myString.insert(pos,replaceString);


}









[ 기본변수를 문자열로 ( toString 기능 ) ]

개발환경이 C++11을 지원해야함

string myString;

int myInt = 10;


myString = to_string(myInt) ;



[ 문자열을 기본변수로 ]

개발환경이 C++11을 지원해야함

string myString = "55";

int myInt ;


myInt = stoi(myString);


알아두면 유용한 토탈커맨더 단축키 (total)

2015.12.21 09:37

알아두면 유용한 토탈커맨더 단축키

http://900gle.info/227

외우기 위해 정리 해본다.. 자주 안쓰는 키들도 써보려고...

**
**

**ALT ****조합**

Alt + F1 왼쪽 패널 드라이브 바꾸기

Alt + F2 오른쪽 패널 드라이브 바꾸기

Alt + left/right : 작업한 폴더 간에 앞으로, 뒤로 이동하기

Alt + BackSpace : 한 단계 상위 폴더로 이동하기

Alt + down 작업했던 폴더 리스트 보여주기

Alt + Shift + Enter : 현재 폴더 안의 모든 하부 폴더의 용량을 p>

Alt + ENTER : 파일 속성 보기, 단축 메뉴의 속성과 동일한 기능

Alt + F4 토탈 커맨더 종료

**CTRL ****조합**

Ctrl + F1 'brief' 형식으로 리스트 보기

Ctrl + F2 'full' 형식으로 리스트 보기

Ctrl + Shift + F2 파일 주석 보기, Ctrl + Z로 주석을 달 수도 있음

Ctrl + F3 이름으로 리스트 정렬, 그냥 리스트 위에 Name 탭을 클릭하면 된다

Ctrl + F4 확장자로 리스트 정렬, 그냥 리스트 위에 Ext 탭을 클릭하면 된다

Ctrl + F5 날짜/시간으로 정렬

Ctrl + F6 파일 크기로 정렬

Ctrl + F7 정렬 않기

Ctrl + F8 반대쪽 패널에 탐색기 형식으로 폴더 구조 보여주기

Ctrl + F9 현재 커서 아래 파일을 연결 프로그램을 이용해 프린트하기

Ctrl + F10 모든 파일 보여주기

Ctrl + F11 실행파일만 보여주기

Ctrl + F12 정의된 파일만 보여주기

Ctrl + B 현재 패널에 하부 폴더의 리스트를 포함한 모든 파일 리스트 보여주기

Ctrl+Q : 파일 내용 빠르게 보기, 텍스트 문서나 이미지 파일 등을 반대쪽 패널에서 볼 수 있다

Ctrl + T 새 폴더 탭 열기 (활성화)

Ctrl + Shift + T 새 폴더 탭 열기 (활성화 하지 않음)

Ctrl + U 패널끼리 리스트 서로 바꾸기

Ctrl + Shift + U 패널끼리 리스트도 바꾸기 탭도 바꾸기

Ctrl + W 현재 활성화된 탭 닫기

Ctrl + Shift + W 모든 탭 닫기

Ctrl + D 디렉토리 핫리스트 열기, 자주 가는 폴더 등록시켜놓고 바로 가기

Ctrl + P : 현재 폴더 경로를 커맨드 라인에 붙여넣기

Ctrl + Enter : 현재 커서의 파일명을 커맨드 라인에 붙여넣기

Ctrl + Shift + Enter : 현재 커서의 파일명을 폴더명 포함해서 커맨드 라인에 붙여넣기

Ctrl + \ : 루트 폴더로 이동하기

Ctrl + PageUp : 루트 폴더로 이동하기 (위와 동일 기능)

Ctrl + left/right : 현재 커서가 위치한 폴더나 압축 파일의 내용을 반대편 패널에서 열기

Ctrl + L : 선택한 파일과 폴더의 총 용량 보여주기

Ctrl + UP 현재 커서의 폴더를 새 탭으로 열기

Ctrl + Shift + UP 현재 커서의 폴더를 다른 패널에 새 탭으로 열기

Ctrl + TAB 다음 탭으로 이동

Ctrl + Shift + TAB 이전 탭으로 이동

**Function Key ****조합**

F3 : 텍스트 문서 보기, 이미지 파일 보기, 사운드 파일 듣기 등을 할 수 있는 종합 뷰어.

Alt + F3 다른 파일 뷰어(외부 뷰어) 사용하기, 이건 옵션에서 지정

Shift + F3 여러 개의 파일이 범위로 선택되어 있을 경우, 현재 커서가 위치한 파일만 본다

**F4 **기본은 텍스트 파일 편집하기

Shift + F4 텍스트 문서 하나 생성하기

F5 : 파일 복사하기, 압축 파일 내에서 필요한 파일만 압축을 해제하는 데에도 유용

Shift + F5 같은 폴더 아래 파일 이름만 바꿔서 복사하기.

Ctrl + Shift + F5 선택한 파일의 링크 파일 만들기

Alt+ F5 : 선택한 파일들로 압축 파일 만들기 (나중에 다시)

Alt + Shift + F5 파일 압축하기

F6 : 선택한 파일들을 반대쪽으로 이동

Shift + F6 : 선택한 파일 이름을 그 자리에서 직접 바꾸기

Ctrl + M : 파일명 일괄적으로 바꾸기

F7 : 새 폴더 만들기

F8 : 파일 삭제하기, 휴지통으로 이동

Shift + F8 : 파일 완전 삭제

Alt + F8 커맨드 라인의 히스토리를 보여주기

Alt + F7 : 파일 검색, 원하는 파일명으로 찾기, 폴더-파일 크기-날짜-속성 등으로 고급 검색하기, 파일 내에 있는 문자열로 찾기 등 다양한 검색 기능을 제공

Alt + F9 : 압축 파일 풀기,

Alt + F10: 더 트리 구조로 열기,

**Shift ****조합**

Shift + F2 : 두 패널간에 파일 리스트 비교하기.

Shift + F10 : 단축 메뉴 보여주기, 즉 마우스 오른쪽 버튼을 누르면 나오는 팝업 메뉴

**NUM ****조합**

NUM + : 특정 파일만 일괄 선택하기

NUM - : 특정 파일만 일괄 선택 해제하기

NUM * 파일 선택 반전시키기

NUM / 선택 복구

Ctrl+ NUM + : 모두 선택하기

Ctrl+ NUM - : 모두 선택 해제하기

Alt + NUM + 현재 커서가 위치한 파일과 동일한 확장자의 모든 파일 선택하기

**FTP ****관련**

Ctrl + F : FTP 접속

Ctrl + Shift + F : FTP 접속 해제

Ctrl + Shift + M FTP 전송 모드 바꾸기

Ctrl + N 새로운 FTP 연결

via ~ 900gle.info :: 알아두면 유용한 토탈커맨더 단축키