Vim을 사용하다보면 검색하거나 문자열을 바꾸기를 많이 시도하게 된다.


그러나 자주 사용하지 않는다면 잊어버리기 쉽상!



1. 커서 위치에서의 단어 검색

단축키 : Shift + 8



2. 간단한 검색

/searchString



3. 직접검색

:%s/searchString/tobe/option


s  or  %s

현재 줄에서 검색할 것인가 or 전체에서 검색할 것인가


searchString

검색할 string


tobe

교체하고 싶은 내용의 string



option : g, c, i, l

  -g옵션

global이란 의미로 1줄의 처음만이 아닌 1줄의 모든 내용을 교체해준다.

timetimetimetime 문자열을 이용한 예

:s/time/h2

결과 => h2timetimetime

:s/time/h2/g

결과 => h2h2h2h2


 -c옵션

지울지 말지 y/Y를 눌러 결정한다.


 -i옵션

대소문자를 구별하지 않는다는 뜻에서 ignore case (case insensitive)


 -l옵션

대소문자 구별 (기본적으로 default 값으로 설정되어있다. => :set  ignorecase 로 변경할 수 있다)





사용 예시


:%s/time

전체에서 time을 모두 지운다.


:%s/str/replace

전체에서 "str" 찾고 "replace"문자열로 변경한다.


:s/str/replace/gci

현재위치 줄에서 "str" 찾고 "replace"문자열로 변경한다. 변경할지 확인 입력을 받는다 (대소문자 구별없이 판별한다, 기본적으로 sensitive하게 동작하고 옵션명은 i 대신 l을 넣으면 된다)


:5,12s/str/replace/

5, 12번째 줄에서 "str" 찾고 "replace"문자열로 변경한다.

:%s/color \<\(red\|green\|blue\)\>/colored \1/g

전체에서 "color red", "color green", "color blue"로 시작하는 문자열을 찾아 "colored x" x는 이전에 나왔던 red, green 또는 blue 로 변경




검색 끝  |(T^T)/



by 개발자가 되자! 2013. 11. 21. 19:12

1>------ 빌드 시작: 프로젝트: AI, 구성: Debug Win32 ------

1>  AI.cpp

1>c:\users\admin\documents\visual studio 2012\projects\ai\ai\ai.cpp(64): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

1>          c:\program files\microsoft visual studio 11.0\vc\include\stdio.h(218) : 'fopen' 선언을 참조하십시오.

1>c:\users\admin\documents\visual studio 2012\projects\ai\ai\ai.cpp(70): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

1>          c:\program files\microsoft visual studio 11.0\vc\include\stdio.h(237) : 'fscanf' 선언을 참조하십시오.



1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : 'const std::_Tree<_Traits> &'의 템플릿 인수를 'const node'에서 추론할 수 없습니다.

1>          c:\program files\microsoft visual studio 11.0\vc\include\xtree(2245) : 'std::operator <' 선언을 참조하십시오.

1>          c:\program files\microsoft visual studio 11.0\vc\include\xstddef(179) : 클래스 템플릿 멤버 함수 'bool std::less<_Ty>::operator ()(const _Ty &,const _Ty &) const'을(를) 컴파일하고 있습니다.

1>          with

1>          [

1>              _Ty=node

1>          ]

1>          c:\program files\microsoft visual studio 11.0\vc\include\xutility(559) : 컴파일 중인 함수 템플릿 인스턴스화 'bool std::less<_Ty>::operator ()(const _Ty &,const _Ty &) const'에 대한 참조를 확인하십시오.

1>          with

1>          [

1>              _Ty=node

1>          ]

1>          c:\program files\microsoft visual studio 11.0\vc\include\type_traits(743) : 컴파일 중인 클래스 템플릿 인스턴스화 'std::less<_Ty>'에 대한 참조를 확인하십시오.

1>          with

1>          [

1>              _Ty=node

1>          ]

1>          c:\program files\microsoft visual studio 11.0\vc\include\xtree(1028) : 컴파일 중인 클래스 템플릿 인스턴스화 'std::is_empty<_Ty>'에 대한 참조를 확인하십시오.

1>          with

1>          [

1>              _Ty=std::less<node>

1>          ]

1>          c:\program files\microsoft visual studio 11.0\vc\include\set(44) : 컴파일 중인 클래스 템플릿 인스턴스화 'std::_Tree<_Traits>'에 대한 참조를 확인하십시오.

1>          with

1>          [

1>              _Traits=std::_Tset_traits<node,std::less<node>,std::allocator<node>,false>

1>          ]

1>          c:\users\admin\documents\visual studio 2012\projects\ai\ai\ai.cpp(126) : 컴파일 중인 클래스 템플릿 인스턴스화 'std::set<_Kty>'에 대한 참조를 확인하십시오.

1>          with

1>          [

1>              _Kty=node

1>          ]

1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2784: 'bool std::operator <(const std::queue<_Ty,_Container> &,const std::queue<_Ty,_Container> &)' : 'const std::queue<_Ty,_Container> &'의 템플릿 인수를 'const node'에서 추론할 수 없습니다.

1>          c:\program files\microsoft visual studio 11.0\vc\include\queue(204) : 'std::operator <' 선언을 참조하십시오.

1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2784: 'bool std::operator <(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : 'const std::vector<_Ty,_Alloc> &'의 템플릿 인수를 'const node'에서 추론할 수 없습니다.

1>          c:\program files\microsoft visual studio 11.0\vc\include\vector(1726) : 'std::operator <' 선언을 참조하십시오.

1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2784: 'bool std::operator <(const std::deque<_Ty,_Alloc> &,const std::deque<_Ty,_Alloc> &)' : 'const std::deque<_Ty,_Alloc> &'의 템플릿 인수를 'const node'에서 추론할 수 없습니다.

1>          c:\program files\microsoft visual studio 11.0\vc\include\deque(1929) : 'std::operator <' 선언을 참조하십시오.

1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2784: 'bool std::operator <(const std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &)' : 'const std::move_iterator<_RanIt> &'의 템플릿 인수를 'const node'에서 추론할 수 없습니다.

1>          c:\program files\microsoft visual studio 11.0\vc\include\xutility(1983) : 'std::operator <' 선언을 참조하십시오.

1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2784: 'bool std::operator <(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : 'const std::reverse_iterator<_RanIt> &'의 템플릿 인수를 'const node'에서 추론할 수 없습니다.

1>          c:\program files\microsoft visual studio 11.0\vc\include\xutility(1259) : 'std::operator <' 선언을 참조하십시오.

1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2784: 'bool std::operator <(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : 'const std::_Revranit<_RanIt,_Base> &'의 템플릿 인수를 'const node'에서 추론할 수 없습니다.

1>          c:\program files\microsoft visual studio 11.0\vc\include\xutility(1075) : 'std::operator <' 선언을 참조하십시오.

1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2784: 'bool std::operator <(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : 'const std::pair<_Ty1,_Ty2> &'의 템플릿 인수를 'const node'에서 추론할 수 없습니다.

1>          c:\program files\microsoft visual studio 11.0\vc\include\utility(232) : 'std::operator <' 선언을 참조하십시오.

1>c:\program files\microsoft visual studio 11.0\vc\include\xstddef(180): error C2676: 이항 '<' : 'const node'이(가) 이 연산자를 정의하지 않거나 미리 정의된 연산자에 허용되는 형식으로의 변환을 정의하지 않습니다.



typedef class node{
public:
	node *parent;
	int arr[10];
	int evaluate;
 
	// postcondition : evaluate has been changed
	int evaluateNode();
}node;

std::set<node>를 사용해서 이런 저런 프로그래밍을 하고 있었다.

이런 에러가 떴다.... 무슨 에러인고 하니 '<' 연산자가 없다고 한다. (처음엔 이것때문인줄 몰랐지)

처음에는 iterator부분에서 에러가 나길래 뭔가 뭔가 하고 열심히 찼아봤지만

아무런 소득을 얻을 수 없었다..


에러 결과를 찾은 곳은 바로 

open.insert(open.(),top); 

open 이라고 선언된 set에 , top이라는 node를 추가해주는 부분이었는데

이 부분이 있으면 에러가 났다. 왜그럴까 하고 생각해 봤는데 힌트는 '<'operator const node...

대체 < 연산자를 사용한적이 없는데...






해결방법은

class에 < operator를 const로 추가해주는 것이었다.

typedef class node{
public:
	node *parent;
	int arr[10];
	int evaluate;
 
	// postcondition : evaluate has been changed
	int evaluateNode();
	bool operator<(const node &i) const {
		return evaluate < i.evaluate;
	}
}node;

insert 내부에서 open.end()인지 아닌지 확인하는 부분에서 '<' 연산자를 사용하는 것 같았다.

따라서 int형으로 set을 사용할 때와는 다르게, < 연산자를 아무렇게나 재정의 해둔것 ㅠㅠ




'프로그래밍 > C/C++' 카테고리의 다른 글

[l4d2_plugins] Notepad++환경설정  (0) 2015.04.05
[Linux] Vim search & replace  (0) 2013.11.21
TCHAR, Unicode 함수  (0) 2013.04.10
[펌]문자열 함수, Ansi, Unicode, TCHAR  (0) 2013.03.05
__int64 / long long int  (1) 2013.02.27
by 개발자가 되자! 2013. 10. 13. 16:00

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: ... is not attached to a vertical group


Swing을 이용해 여려 쓰레드에서 동시에 GUI작업을 하면 이런 에러가 발생한다.



EventQueue 클래스는 시스템에서 발생하는 이벤트 를 Queue 형태로 관리해 준다. 응용 프로그램 하나에는 이러한 EventQueue도 하나만 존재하게 된다. 응용 프로그램에서 발생하는 모든 이벤트는, 이벤트를 처리하는 쓰레드가 내부에 존재하여 처리 하고 있다.


해결방법 : EventQueue 클래스의 쓰레드 생성이용


이름

 static void invokeAndWait(Runnable runnable)

 해설

 이벤트 디스패칭 쓰레드에 의해 Runnalbe.run()을 실행한다. invokeAndWait 메소드에서 제어가 돌아오는 것은 이벤트 큐에 등록된 모든 이벤트가 처리되고 runnable.run()의 실행이 종료되고 난 다음이다.

 이름

 static void invokeLater(Runnable runnable)

 해설

 이벤트 디스패칭 쓰레드에 의해 Runnalbe.run()을 실행한다. 이 메소드를 호출하면 이벤트 큐에 runnable.run()의 내용을 넣고 바로 리턴한다.

 이름

 static boolean  isEventDispachThread()

 해설

 현재의 쓰레드가 이벤트 디스패칭 쓰레드인지 여부를 판단한다.

표 출처 : http://blog.naver.com/xxrcn11?Redirect=Log&logNo=20130278668


예시 )

public class MyPanel1 extends JPanel implements Runnable{

...

     public void run(){

          ...
     }

}



//쓰레드 생성시

MyPanel1 panel1 = new MyPanel1();


//기본적인 쓰레드 생성

/*

Thread t1 = new Thread(panel1);

t1.start();

*/

//위를 사용 하는 대신 사용할 것


EventQueue.invokeAndWait(panel1);


자세히 알고 싶으신 분은

여기로 가시면 됩니다 http://blog.naver.com/xxrcn11?Redirect=Log&logNo=20130278668



by 개발자가 되자! 2013. 5. 24. 01:03


http://www.gliffy.com/

대박.. 온라인으로도 가능하다니 ㅎㅎ


SmartDraw도 좋지만, Trial버전이라 따로 구해야되는데

온라인으로 간단하게 해결해주네요


단점.. 30일간 이용가능

해결 -> 인증이 없으니 아무 이메일로 작성하기!


회원가입

이메일하고 비밀번호만 입력하면

따로인증없어도 바로 가입!

쉽다


PNG로 저장할 수 있어요!


다양한 Flowchart



소프트웨어 디자인도 깔끔해서 좋네요



http://www.gliffy.com/

굳!

단점.. 30일간 이용가능

(1달에 4만원... 전 막이메일로 만들고 필요할때만 계정파서 쓰네요 ^^)



by 개발자가 되자! 2013. 4. 15. 01:23

EN_UPDATE
문자열이 변경된 후, 화면에 출력하기 전에 보내주는 메세지

EN_CHANGE
문자열이 화면에 출력된 후, 보내지는 메세지

EN_CHANGE와 EN_UPDATE가 비슷하게 보이지만 위와 같은 차이를 가지며,
메세지 발생 순서는 "문자열 수정 - EN_UPDATE 발생 - 화면 출력 - EN_CHANGE 발생" 이므로..
입력된 문자열의 길이에 따라 에디트 컨트롤 사이즈를 조정하는 작업은 EN_UPDATE에서 하는 것이 논리적이다.

상황에 따라 사용하되 대개의 경우 EN_CHANGE를 많이 사용한다.



'프로그래밍 > API' 카테고리의 다른 글

WINAPI] GetOpenFileName  (0) 2013.03.18
BN_CLICKED, BM_CLICK  (0) 2013.03.07
IExplore Tab관련, 최상위창 만들기  (0) 2013.02.23
ListBox Message, LB_메세지 종류  (0) 2013.02.23
by 개발자가 되자! 2013. 4. 13. 23:40



TCHAR, Unicode


Routine Mappings


Visual Studio 2012
0 out of 1 rated this helpful Rate this topic

The generic-text routine mappings are defined in TCHAR.H. _tccpy and _tclen map to functions in the MBCS model; they are mapped to macros or inline functions in the SBCS and Unicode models for completeness. For information on a generic text routine, see the help topic about the corresponding SBCS-,_MBCS-, or _UNICODE-related routine.

More specific information about individual routines listed in the left column in the following table is not available in this documentation. However, you can easily look up the information on a corresponding SBCS-, _MBCS-, or _UNICODE-related routine. Use the Search command on the Help menu to look up any generic-text routine listed below.

For related information, see Generic-Text Mappings in TCHAR.H.

Generic-Text Routine Mappings

Generic-text routine name

SBCS (_UNICODE & MBCS not defined)

_MBCS defined

_UNICODE defined

_cgetts

_cgets

_cgets

_cgetws

_cgetts_s

_cgets_s

_cgets_s

_cgetws_s

_cputts

_cputs

_cputs

_cputws

_fgettc

fgetc

fgetc

fgetwc

_fgettchar

_fgetchar

_fgetchar

_fgetwchar

_fgetts

fgets

fgets

fgetws

_fputtc

fputc

fputc

fputwc

_fputtchar

_fputchar

_fputchar

_fputwchar

_fputts

fputs

fputs

fputws

_ftprintf

fprintf

fprintf

fwprintf

_ftprintf_s

fprintf_s

fprintf_s

fwprintf_s

_ftscanf

fscanf

fscanf

fwscanf

_ftscanf_s

fscanf_s

fscanf_s

fwscanf_s

_gettc

getc

getc

getwc

_gettch

_getch

_getch

_getwch

_gettchar

getchar

getchar

getwchar

_gettche

_getche

_getche

_getwche

_getts

gets

gets

getws

_getts_s

gets_s

gets_s

getws_s

_istalnum

isalnum

_ismbcalnum

iswalnum

_istalpha

isalpha

_ismbcalpha

iswalpha

_istascii

isascii

isascii

iswascii

_istcntrl

iscntrl

iscntrl

iswcntrl

_istdigit

isdigit

_ismbcdigit

iswdigit

_istgraph

isgraph

_ismbcgraph

iswgraph

_istlead

Always returns false

_ismbblead

Always returns false

_istleadbyte

Always returns false

isleadbyte

Always returns false

_istlegal

Always returns true

_ismbclegal

Always returns true

_istlower

islower

_ismbclower

iswlower

_istprint

isprint

_ismbcprint

iswprint

_istpunct

ispunct

_ismbcpunct

iswpunct

_istspace

isspace

_ismbcspace

iswspace

_istupper

isupper

_ismbcupper

iswupper

_istxdigit

isxdigit

isxdigit

iswxdigit

_itot

_itoa

_itoa

_itow

_itot_s

_itoa_s

_itoa_s

_itow_s

_ltot

_ltoa

_ltoa

_ltow

_ltot_s

_ltoa_s

_ltoa_s

_ltow_s

_puttc

putc

putc

putwc

_puttch

_putch

_putch

_putwch

_puttchar

putchar

putchar

putwchar

_putts

puts

puts

_putws

_sctprintf

_scprintf

_scprintf

_scwprintf

_sntprintf

_snprintf

_snprintf

_snwprintf

_sntprintf_s

_snprintf_s

_snprintf_s

_snwprintf_s

_sntscanf

_snscanf

_snscanf

_snwscanf

_sntscanf_s

_snscanf_s

_snscanf_s

_snwscanf_s

_stprintf

sprintf

sprintf

swprintf

_stprintf_s

sprintf_s

sprintf_s

swprintf_s

_stscanf

sscanf

sscanf

swscanf

_stscanf_s

sscanf_s

sscanf_s

swscanf_s

_taccess

_access

_access

_waccess

_taccess_s

_access_s

_access_s

_waccess_s

_tasctime

asctime

asctime

_wasctime

_tasctime_s

asctime_s

asctime_s

_wasctime_s

_tccmp

Maps to macro or inline function

_mbsncmp

Maps to macro or inline function

_tccpy

Maps to macro or inline function

_mbccpy

Maps to macro or inline function

_tccpy_s

(1글자만 복사됨)strcpy_s

_mbccpy_s

wcscpy_s

_tchdir

_chdir

_chdir

_wchdir

_tclen

Maps to macro or inline function

_mbclen

Maps to macro or inline function

_tchmod

_chmod

_chmod

_wchmod

_tcprintf

_cprintf

_cprintf

_cwprintf

_tcprintf_s

_cprintf_s

_cprintf_s

_cwprintf_s

_tcreat

_creat

_creat

_wcreat

_tcscanf

_cscanf

_cscanf

_cwscanf

_tcscanf_s

_cscanf_s

_cscanf_s

_cwscanf_s

_tcscat

strcat

_mbscat

wcscat

_tcscat_s

strcat_s

_mbscat_s

wcscat_s

_tcschr

strchr

_mbschr

wcschr

_tcsclen

strlen

_mbslen

wcslen

_tcsclen_s

strlen_s

_mbslen_s

wcslen_s

_tcscmp

strcmp

_mbscmp

wcscmp

_tcscoll

strcoll

_mbscoll

wcscoll

_tcscpy

strcpy

_mbscpy

wcscpy

_tcscpy_s

strcpy_s

_mbscpy_s

wcscpy_s

_tcscspn

strcspn

_mbscspn

wcscspn

_tcsdec

_strdec

_mbsdec

_wcsdec

_tcsdup

_strdup

_mbsdup

_wcsdup

_tcserror

strerror

strerror

_wcserror

_tcserror_s

strerror_s

strerror_s

_wcserror_s

_tcsftime

strftime

strftime

wcsftime

_tcsicmp

_stricmp

_mbsicmp

_wcsicmp

_tcsicoll

_stricoll

_mbsicoll

_wcsicoll

_tcsinc

_strinc

_mbsinc

_wcsinc

_tcslen

strlen

strlen

wcslen

_tcslwr

_strlwr

_mbslwr

_wcslwr

_tcslwr_s

_strlwr_s

_mbslwr_s

_wcslwr_s

_tcsnbcnt

_strncnt

_mbsnbcnt

_wcsncnt

_tcsncat

strncat

_mbsnbcat

wcsncat

_tcsncat_s

strncat_s

_mbsnbcat_s

wcsncat_s

_tcsnccat

strncat

_mbsncat

wcsncat

_tcsnccmp

strncmp

_mbsncmp

wcsncmp

_tcsnccmp_s

strncmp_s

_mbsncmp_s

wcsncmp_s

_tcsnccoll

_strncoll

_mbsncoll

_wcsncoll

_tcsncmp

strncmp

_mbsnbcmp

wcsncmp

_tcsnccnt

_strncnt

_mbsnccnt

_wcsncnt

_tcsnccpy

strncpy

_mbsncpy

wcsncpy

_tcsnccpy_s

strncpy_s

_mbsncpy_s

wcsncpy_s

_tcsncicmp

_strnicmp

_mbsnicmp

_wcsnicmp

_tcsncicoll

_strnicoll

_mbsnicoll

_wcsnicoll

_tcsncpy

strncpy

_mbsnbcpy

wcsncpy

_tcsncpy_s

strncpy_s

_mbsnbcpy_s

wcsncpy_s

_tcsncset

_strnset

_mbsnset

_wcsnset

_tcsnextc

_strnextc

_mbsnextc

_wcsnextc

_tcsnicmp

_strnicmp

_mbsnbicmp

_wcsnicmp

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsninc

_strninc

_mbsninc

_wcsninc

_tcsnccnt

_strncnt

_mbsnccnt

_wcsncnt

_tcsnset

_strnset

_mbsnbset

_wcsnset

_tcspbrk

strpbrk

_mbspbrk

wcspbrk

_tcsspnp

_strspnp

_mbsspnp

_wcsspnp

_tcsrchr

strrchr

_mbsrchr

wcsrchr

_tcsrev

_strrev

_mbsrev

_wcsrev

_tcsset

_strset

_mbsset

_wcsset

_tcsspn

strspn

_mbsspn

wcsspn

_tcsstr

strstr

_mbsstr

wcsstr

_tcstod

strtod

strtod

wcstod

_tcstoi64

_strtoi64

_strtoi64

_wcstoi64

_tcstok

strtok

_mbstok

wcstok

_tcstok_s

strtok_s

_mbstok_s

wcstok_s

_tcstol

strtol

strtol

wcstol

_tcstoui64

_strtoui64

_strtoui64

_wcstoui64

_tcstoul

strtoul

strtoul

wcstoul

_tcsupr

_strupr

_mbsupr

_wcsupr

_tcsupr_s

_strupr_s

_mbsupr_s

_wcsupr_s

_tcsxfrm

strxfrm

strxfrm

wcsxfrm

_tctime

ctime

ctime

_wctime

_tctime_s

ctime_s

ctime_s

_wctime_s

_tctime32

_ctime32

_ctime32

_wctime32

_tctime32_s

_ctime32_s

_ctime32_s

_wctime32_s

_tctime64

_ctime64

_ctime64

_wctime64

_tctime64_s

_ctime64_s

_ctime64_s

_wctime64_s

_texecl

_execl

_execl

_wexecl

_texecle

_execle

_execle

_wexecle

_texeclp

_execlp

_execlp

_wexeclp

_texeclpe

_execlpe

_execlpe

_wexeclpe

_texecv

_execv

_execv

_wexecv

_texecve

_execve

_execve

_wexecve

_texecvp

_execvp

_execvp

_wexecvp

_texecvpe

_execvpe

_execvpe

_wexecvpe

_tfdopen

_fdopen

_fdopen

_wfdopen

_tfindfirst

_findfirst

_findfirst

_wfindfirst

_tfindnext

_findnext

_findnext

_wfindnext

_tfindnext32

_findnext32

_findnext32

_wfindnext32

_tfindnext64

_findnext64

_findnext64

_wfindnext64

_tfindnexti64

_findnexti64

_findnexti64

_wfindnexti64

_tfindnexti6432

_findnexti6432

_findnexti6432

_wfindnexti6432

_tfindnext32i64

_findnext32i64

_findnext32i64

_wfindnext32i64

_tfopen

fopen

fopen

_wfopen

_tfopen_s

fopen_s

fopen_s

_wfopen_s

_tfreopen

freopen

freopen

_wfreopen

_tfreopen_s

freopen_s

freopen_s

_wfreopen_s

_tfsopen

_fsopen

_fsopen

_wfsopen

_tfullpath

_fullpath

_fullpath

_wfullpath

_tgetcwd

_getcwd

_getcwd

_wgetcwd

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

_tgetenv

getenv

getenv

_wgetenv

_tgetenv_s

getenv_s

getenv_s

_wgetenv_s

_tmain

main

main

wmain

_tmakepath

_makepath

_makepath

_wmakepath

_tmakepath_s

_makepath_s

_makepath_s

_wmakepath_s

_tmkdir

_mkdir

_mkdir

_wmkdir

_tmktemp

_mktemp

_mktemp

_wmktemp

_tmktemp_s

_mktemp_s

_mktemp_s

_wmktemp_s

_topen

_open

_open

_wopen

_topen_s

_open_s

_open_s

_wopen_s

_totlower

tolower

_mbctolower

towlower

_totupper

toupper

_mbctoupper

towupper

_tperror

perror

perror

_wperror

_tpopen

_popen

_popen

_wpopen

_tprintf

printf

printf

wprintf

_tprintf_s

printf_s

printf_s

wprintf_s

_tputenv

_putenv

_putenv

_wputenv

_tputenv_s

_putenv_s

_putenv_s

_wputenv_s

_tremove

remove

remove

_wremove

_trename

rename

rename

_wrename

_trmdir

_rmdir

_rmdir

_wrmdir

_tsearchenv

_searchenv

_searchenv

_wsearchenv

_tsearchenv_s

_searchenv_s

_searchenv_s

_wsearchenv_s

_tscanf

scanf

scanf

wscanf

_tscanf_s

scanf_s

scanf_s

wscanf_s

_tsetlocale

setlocale

setlocale

_wsetlocale

_tsopen

_sopen

_sopen

_wsopen

_tsopen_s

_sopen_s

_sopen_s

_wsopen_s

_tspawnl

_spawnl

_spawnl

_wspawnl

_tspawnle

_spawnle

_spawnle

_wspawnle

_tspawnlp

_spawnlp

_spawnlp

_wspawnlp

_tspawnlpe

_spawnlpe

_spawnlpe

_wspawnlpe

_tspawnv

_spawnv

_spawnv

_wspawnv

_tspawnve

_spawnve

_spawnve

_wspawnve

_tspawnvp

_spawnvp

_spawnvp

_wspawnvp

_tspawnvpe

_spawnvpe

_spawnvpe

_wspawnvpe

_tsplitpath

_splitpath

_splitpath

_wsplitpath

_tstat

_stat

_stat

_wstat

_tstat32

_stat32

_stat32

_wstat32

_tstati32

_stati32

_stati32

_wstati32

_tstat64

_stat64

_stat64

_wstat64

_tstati64

_stati64

_stati64

_wstati64

_tstof

atof

atof

_wtof

_tstoi

atoi

atoi

_wtoi

_tstoi64

_atoi64

_atoi64

_wtoi64

_tstol

atol

atol

_wtol

_tstrdate

_strdate

_strdate

_wstrdate

_tstrdate_s

_strdate_s

_strdate_s

_wstrdate_s

_tstrtime

_strtime

_strtime

_wstrtime

_tstrtime_s

_strtime_s

_strtime_s

_wstrtime_s

_tsystem

system

system

_wsystem

_ttempnam

_tempnam

_tempnam

_wtempnam

_ttmpnam

tmpnam

tmpnam

_wtmpnam

_ttmpnam_s

tmpnam_s

tmpnam_s

_wtmpnam_s

_ttoi

atoi

atoi

_wtoi

_ttoi64

_atoi64

_atoi64

_wtoi64

_ttol

atol

atol

_wtol

_tunlink

_unlink

_unlink

_wunlink

_tutime

_utime

_utime

_wutime

_tutime32

_utime32

_utime32

_wutime32

_tutime64

_utime64

_utime64

_wutime64

_tWinMain

WinMain

WinMain

wWinMain

_ui64tot

_ui64toa

_ui64toa

_ui64tow

_ui64tot_s

_ui64toa_s

_ui64toa_s

_ui64tow_s

_ultot

_ultoa

_ultoa

_ultow

_ultot_s

_ultoa_s

_ultoa_s

_ultow_s

_ungettc

ungetc

ungetc

ungetwc

_ungettch

_ungetch

_ungetch

_ungetwch

_vftprintf

vfprintf

vfprintf

vfwprintf

_vftprintf_s

vfprintf_s

vfprintf_s

vfwprintf_S

_vsctprintf

_vscprintf

_vscprintf

_vscwprintf

_vsctprintf_s

_vscprintf_s

_vscprintf_s

_vscwprintf_S

_vsntprintf

_vsnprintf

_vsnprintf

_vsnwprintf

_vsntprintf_s

_vsnprintf_s

_vsnprintf_s

_vsnwprintf_s

_vstprintf

vsprintf

vsprintf

vswprintf

_vstprintf_s

vsprintf_s

vsprintf_s

vswprintf_s

_vtprintf

vprintf

vprintf

vwprintf

_vtprintf_s

vprintf_s

vprintf_s

vwprintf_s

출처 : http://msdn.microsoft.com/en-us/library/tsbaswba(v=vs.110).aspx


strcpy_s가  _tccpy_s  라고 되어있는데.. 1글자만 복사되더라..

_tcscpy_s로 사용할 것



TCHAR 자료형에 대한 편한 변환방식이 있습니다.

가장 쉬운 방법은 ATLCONV 를 사용하는 방법으로 사용법은 아래와 같습니다.

#include <atlconv.h>

사용 위치 앞에서

USES_CONVERSION; // 사용 전에 선언하셔야 합니다. 내부적으로 사용할 버퍼를 할당합니다.

char ip[256] = {NULL, }

strcpy_s(ip, T2A(DEFAULT_IP));

여기서 T2A 란 TCHAR TO ASCII 의 줄임말 (아마도 이렇게 추측되네요) 로 생각됩니다.

같은 의미로

T2A ( TCHAR -> CHAR)

A2T ( CHAR -> TCHAR)

외에도

T2CA
A2CT
CT2CA

CA2CT 등이 존재합니다. 여기서 C는 const의 줄임말입니다.



//추가내용

//링크에러가 나는 경우 => #pragma comment(lib, "atls.lib")를 포함시켜줘야한다.

출처 : 지식인



이외의 여러가지 변환방법 

http://blog.naver.com/skywood1?Redirect=Log&logNo=100129022023


by 개발자가 되자! 2013. 4. 10. 18:56


KMP 음성 싱크 << 이녀석이 문제다..

음성이 점점 느려지는 문제에 봉착한 것!


이리저리 해결방법을 찾다가 코덱설치를 하라는 얘기를 듣고 설치했다.

코덱은 바로 Core Codec = Coreavc


coreavc 3.0.1 공식홈피에 다운로드할려고 했지만 받을 수가 없었다.


하는 수 없이 토렌트를 이용해서 찾아보았고 코덱 설정방법과 KMP를 통해 외부 코덱을 읽어오는 방법을 사용하여

설정했다, 아래는 토렌트사이트 (비트토렌트를 통해 다운로드를 받았다)


coreavc 3.0.1 다운로드(토렌트)   http://bitsnoop.com/corecodec-coreavc-professional-edit-q30096088.html

보통 키젠 있으면 바이러스로 감지되기마련인데 이건 바이러스도 없고 잘되네요




설정방법은

저사양 PC로 720p 고화질 HD 동영상 보는 법 + CoreAVC 3.0.1 코덱 설치 방법

http://blog.daum.net/sinbibox/73


설치파일 오류시

CoreAVC 코덱 설치시 에러 발생 해결하기

http://blog.naver.com/color4404?Redirect=Log&logNo=30100996202

사용할때 색상이 이상하게 나오는 오류

CoreAVC 3.0.1 설치 및 간단한 설정방법

http://cafe.naver.com/window7/184498

카페라서 안들어가지시는분을 위해

요약설명 : 설치할때 Output Format 에서 NV12 만 체크하고 나머지는 체크해제




by 개발자가 되자! 2013. 4. 7. 20:24

Ubuntu를 설치하고 설정하면서 정말.. 힘드네요

처음 설치한 사람들을 위해 후기를 남깁니다.


사실 고비 = 정보


1번고비

ubuntu 12.10 64bit를 설치하려고 USB에 Universal 프로그램으로 부트디스크를 설정해주었는데 진입이 안되서

4시간동안 여기에 굽고 저기에 굽고,

결국 wubi를 통해 32bit를 깔은줄 알고 슬퍼함. (사실 시스템정보를 확인해보니 64비트 오예!)





2번 고비

크롬설치를 하려고 32비트용을 받았는데, 1번에서 말했듯 난 64비트였어..ㅠㅠ

어쩐지 안깔리더라

아래 사진을 보면  첫번째 쇼핑몰 가방모양이 소프트웨어 센터다.

프로그램을 여기서 받는다.

또는

 sudo apt-get install [프로그램명]

이런 방식을 사용한다



3번 고비

터미널 어떻게열어?

이렇게 간단한거를 몰랐네

Ctrl + Alt + T


4번 고비

어플리케이션 설치방법 (VIM깔아보자)

sudo apt-get install VIM


5번 고비

vim 을 사용하려면, 기본적인 highlighting등이 되있어야지?

.vim 설정법

cd ~

vim .vimrc


i를 눌러서 삽입모드로 바꾸고



<esc> :wq


VIM을 빠져나오면 완성


6번 고비
VIM colorscheme

solarized color설정 (사실 귀찮아)

맘에 들면 깔아보세요


사이트 : https://github.com/altercation/vim-colors-solarized


왼쪽이 Sublime, 오른쪽이 VIM

아래에서 Sublime에 대해 설명하겠습니다.


7번 고비

Sublime-text설치하기

(코딩할 때 편한 환경을 제공한다)


참고사이트 : http://edoli.tistory.com/79

참 잘나와있다.


다운로드 : http://www.sublimetext.com/2

BETA :  http://www.sublimetext.com/3

현재 2버젼이고, 3버젼 베타가 나왔다


Sublime2를 받으면 압축을 풀고

바탕화면에 바로가기를 만들어서 사용하면 쉽다.



8번 고비

지하철에서, 갑자기 내 코드가 궁금하다면?

SSH 설정해서 외부에서 접속하기       (이건리얼고비였네요)


외부에 나가있을때, 집에 리눅스가 켜져있다면

Putty , 혹은 스마트폰 어플을 이용해 컴퓨터에 접속할 수 있다!!

안드로이드에서 접속하기 위해

힘겨운 사실들을 알아냈다

(사실 여기서 제일 빡쳤다.)

기본 : SSH서버설정


옵션 : 입맛에 따라

-  SSH접속 : 3가지중 1개의 어플로 접속, (모든 리눅스 원격기능 사용가능)

-  SFTP접속 : 1가지 어플로 직접코드보기, 코딩하기 (앱전용코딩창, open, save, compile, run)


코드 보기(가독성)는 DroidEdit이 제일 좋음(Programmer keyb기oard 필수)




DroidEdit (Pro) 의 SFTP를 이용하여 원격 저장, Compile, 실행 모두 할 수 있다.


주요 내용 : http://noon.tistory.com/628

(많아서 나도 안봄..)


9번 고비

Sublime-text2 를 이용할때 마운트되지 않은 하드디스크에 소스코드를 실행하려니까

"허가 거부" 라고뜬다.

하드디스크를 마운트하라는데 내일해야겠다..


이보게 현재는 어제의 내일이네, C에는 윈도우7, D에는 우분투가 깔린환경이다.


D에 있는 파일들은 /host/ 에 있고,

C에 있는 파일들은 /media/14a0s9d82 이런 요상한 문자들로 이루어진곳에 가면있다

또한 Permission도 rw-r--r-- 이던가..


우린 이 Permission을 rwxrwx--- 가 되게 만들것이다.


10번 고비

아무리 잘알아도 단축키만 하겠느냐!!


작업공간 전환 단축키가 짱!

사용해보세요 짱편해요!

다른작업공간으로 이동 : Ctrl + Alt + 방향키

맨앞의 창을 다른 작업공간으로 : Ctrl + Alt + Shift + 방향키






일단은 요기까지는 문제없이 돌아가는군요



'개념/이론' 카테고리의 다른 글

리눅스에서 공인IP 외부IP 찾기  (0) 2013.03.28
Programmer? Programer?  (0) 2013.02.15
by 개발자가 되자! 2013. 3. 29. 02:19

외부IP는 ifconfig 만으로는 안되는군요.

그래서 찾아봤습니다.


How can I find my public IP using the terminal?


wget http://ipecho.net/plain -O- -q ; echo



간단하네요

whatismyip.com 에서 찾아본결과 Membership에 가입된것만 보여준다는데

이곳은 그냥 보여주네요!






매일 1시에 Mail로 IP를 쏴줘요! 예압압압!


┗  crontab -e

00 01 * * * wget 'http://automation.whatismyip.com/n09230945.asp' -q -O - | mail <메일 주소> -s '제목'


공인IP가 자꾸바뀌는경우에 유용하겠네요





출처 : http://askubuntu.com/questions/145012/how-can-i-find-my-public-ip-using-the-terminal

mail : http://cafe.naver.com/an02/784

crontab 사용법 : http://blog.naver.com/seilius?Redirect=Log&logNo=130152798700



'개념/이론' 카테고리의 다른 글

리눅스(Ubuntu)를 접하다.  (0) 2013.03.29
Programmer? Programer?  (0) 2013.02.15
by 개발자가 되자! 2013. 3. 28. 20:33

http://Soenlab.com (구 : winapi.co.kr) 레퍼런스 확인중


http://soenlab.com/lecture/win32api/reference/Function/GetOpenFileName.htm

을 보면서 따라하던중


헤더파일을 못읽는건지..


도무지 GetOpenFileName 함수가 컴파일되지 않는것이었다


해결방법은



WIN32_LEAN_AND_MEAN을 주석처리하면된다.



GetOpenFileName 사용시-> //#define WIN32_LEAN_AND_MEAN



'프로그래밍 > API' 카테고리의 다른 글

CEdit의 EN_CHANGE 와 EN_UPDATE 의 차이점  (0) 2013.04.13
BN_CLICKED, BM_CLICK  (0) 2013.03.07
IExplore Tab관련, 최상위창 만들기  (0) 2013.02.23
ListBox Message, LB_메세지 종류  (0) 2013.02.23
by 개발자가 되자! 2013. 3. 18. 20:14
| 1 2 3 4 5 6 |