본문 바로가기

C

[C언어] 선증가 ++i 와 후증가 i++ 의 속도 차이 x = i++; 선증가가 아닌 위와 같이 후증가로 코드를 작성하면 증가 함수가 i의 원래 값에 복사본을 만든 뒤 i를 증가시키고 원래의 값을 반환,임시 객체의 생성을 야기시켜 속도가 느려진다고 한다. 요즘엔 컴파일러 최적화가 잘 되어 있어 ++i, i++이나 속도 차이가 없다고 한다. 더보기
[C언어] 문자가 숫자나 알파벳인지 검사하는 함수 - isalnum ※요약 isalnum : 문자가 숫자 0~9나 대문자 A~Z, 소문자 a~z에 속하는지 검사합니다. ※함수 원형 및 설명 int isalnum( int c ); //c : 검사할 문자 또는 아스키 값 //반환값 : 문자가 숫자 0~9나 대문자 A~Z, 소문자 a~z에 속하면 true, 아니면 false ※예제 #include #include int main( ) { bool bCheck = false; char strTemp[] = "2T3y4J"; bCheck = isalnum( '3' ); printf( "%s\n", bCheck ? "True" : "False" ); bCheck = isalnum( 97 );//97은 문자로 'a' printf( "%s\n", bCheck ? "True" : "Fa.. 더보기
[C언어] 문자가 알파벳인지 검사하는 함수 - isupper, islower, isalpha ※요약 isupper : 문자가 대문자 A~Z 사이에 속하는지 검사 islower : 문자가 소문자 a~z 사이에 속하는지 검사 isalpha : 문자가 대소문자 A~Z, a~z에 속하는지 검사 ※함수 원형 및 설명int isupper( int c ); //c : 검사할 문자 또는 아스키 값 //반환값 : 문자가 A~Z 사이에 속하면 true, 아니면 false int islower( int c ); //c : 검사할 문자 또는 아스키 값 //반환값 : 문자가 a~z 사이에 속하면 true, 아니면 false int isalpha( int c ); //c : 검사할 문자 또는 아스키 값 //반환값 : 문자가 A~Z나 a~z 사이에 속하면 true, 아니면 false ※예제 #include #include.. 더보기
[C언어] 문자가 숫자에 속하는지 검사하는 함수 - isdigit ※요약 isdigit : 문자가 숫자 0~9 사이에 속하는지 검사하는 함수 ※함수 원형 및 설명int isdigit( int c ); //c : 검사할 문자 또는 아스키 값 //반환값 : 문자가 0~9 사이에 속하면 true, 아니면 false ※예제#include #include int main( ) { bool bCheck = false; char strTemp[] = "2t3y4j"; bCheck = isdigit( '3' ); printf( "%s\n", bCheck ? "True" : "False" ); bCheck = isdigit( 49 );//49는 문자로 1 printf( "%s\n", bCheck ? "True" : "False" ); bCheck = isdigit( strTemp[1].. 더보기
[C언어] 숫자를 문자열로 변환 - itoa, ltoa, ultoa, fcvt, ecvt, gcvt 숫자를 문자열로 바꾸는 itoa함수, ltoa함수, ultoa함수, fcvt함수, ecvt함수, gcvt함수에 관한 내용입니다. ※요약 itoa : integer 값을 2진, 8진, 10진, 16진 문자열로 변환합니다. ltoa : long 값을 2진, 8진, 10진, 16진 문자열로 변환합니다. ultoa : unsigned long 값을 2진, 8진, 10진, 16진 문자열로 변환합니다. fcvt : 실수(고정 소수점:float) 값을 문자열로 변환합니다. ecvt : 실수(부동 소수점:double) 값을 문자열로 변환합니다. gcvt : 실수 값을 부호와 소수점을 포함하여 문자열로 변환합니다. ※함수 원형 및 설명char *itoa( int value, char *string, int radix ).. 더보기
[C언어] 각 데이터형 범위 C언어 각 데이터형 범위 입니다.출처는 MSDN입니다. Type NameBytesOther NamesRange of Valuesint4signed–2,147,483,648 to 2,147,483,647unsigned int4unsigned0 to 4,294,967,295__int81char–128 to 127unsigned __int81unsigned char0 to 255__int162short, short int, signed short int–32,768 to 32,767unsigned __int162unsigned short, unsigned short int0 to 65,535__int324signed, signed int, int–2,147,483,648 to 2,147,483,647unsig.. 더보기
[C언어] 문자열 숫자로 변환 관련 함수 - strtol, strtoul, strtod 문자열을 숫자로 변환하는 strtol함수, strtoul함수, strtod함수에 관한 내용입니다. ※요약 strtol : 문자열을 long 값으로 변환 합니다. 2진수, 8진수, 16진수 값을 10진수로 변환 합니다. (string to long) strtoul : 문자열을 unsigned long 값으로 변환 합니다. (string to unsigned long) strtod : 문자열을 double 값으로 변환 합니다. (string to double) 무작정 외우는 것보다 "string to long, string를 long형으로" 같이 외우면 더 잘 기억납니다. ※함수 원형 및 설명long strtol( const char *nptr, char **endptr, int base ); //nptr .. 더보기
[C언어] 문자열 숫자로 변환 관련 함수 - atoi, _atoi64, atol, atof 문자열을 숫자로 변환하는 atoi함수, _atoi64함수, atol함수, atof함수에 관한 내용입니다. ※요약atoi : 문자열을 integer 값으로 변환 합니다. (ascii to integer)_atoi64 : 문자열을 __int64 값으로 변환 합니다.atol : 문자열을 long 값으로 변환 합니다. (ascii to long)atof : 문자열을 double 값으로 변환 합니다. (ascii to float)무작정 atoi(아토이ㅋㅋ)로 외우는 것보다 "ASCii to integer, 아스키를 정수형으로" 같이 외우면 더 잘 기억납니다. ※함수 원형 및 설명 int atoi( const char *string ); //string : NULL로 종결되는 수식을 포함하는 문자열의 포인터 //반.. 더보기
[C언어] 문자열 초기화 관련 함수 - strset, strnset 문자열을 초기화하는 strset함수와 strnset함수에 관한 내용입니다. ※요약 strset : 문자열을 특정 문자 또는 ASCII값으로 초기화 합니다. strnset : 문자열을 일정 길이만큼 초기화 합니다. ※함수 원형 및 설명 ※예제 -strset, strnset#include #include //strset, strnset int main( ) { char string[] = "Test Code"; char *pstr; pstr = strset( string, '*' ); printf( "%s\n", pstr ); printf( "%s\n", string ); putchar( '\n' ); pstr = strset( &string[3], 'T' ); printf( "%s\n", pstr ); p.. 더보기
[C언어] 문자열 거꾸로 뒤집는 함수 - strrev 문자열을 거꾸로 뒤집는 strrev함수에 관한 내용입니다. rev는 reverse의 약자인듯 싶네요. ※요약 strrev : 문자열을 거꾸로 뒤집습니다. ※함수 원형 및 설명 ※예제 -strrev#include #include //strrev int main( ) { char string[] = "This is simple code"; char *pstr; pstr = strrev( string ); printf( "%s\n", pstr ); printf( "%s\n", string ); return 0; } 더보기
[C언어] 문자열 대소문자 변환 관련 함수 - strupr, strlwr 문자열 대소문자 변환 관련 함수 중 strupr함수와 strlwr함수에 관한 내용입니다. ※요약 strupr : 문자열을 대문자로 변환 합니다. strlwr : 문자열을 소문자로 변환 합니다. ※함수 원형 및 설명 ※예제 -strupr, strlwr#include #include //strupr, strlwr int main( ) { char string1[]="Simple Code"; char string2[]="Example Program"; char *pStr; pStr = strupr( string1 ); printf( "%s\n", pStr ); printf( "%s\n", string1 ); pStr = strlwr( string2 ); printf( "%s\n", pStr ); printf(.. 더보기
[C언어] 문자셋 검색 관련 함수 - strspn, strcspn 문자셋 검색하는 함수 중 strspn함수와 strcspn함수에 관한 내용입니다. 단일 문자 또는 ASCII코드 값의 검색은 문자 검색 관련 함수 - strchr, strrchr을 참고하세요. ※요약 strspn : 문자열에서 일치되지 않는 첫 번째 문자의 위치를 검색합니다.(대소문자 구분) strcspn : 문자열에서 일치되는 첫 번째 문자의 위치를 검색합니다.(대소문자 구분) ※함수 원형 및 설명 ※예제 -strspn, strcspn#include #include //strspn, strcspn int main( ) { char string[] = "a1b2c3 A1B2C3"; char strCharset[] = "12ab"; int nIndex=0; //문자열에서 '1', '2', 'a', 'b' 문.. 더보기
[C언어] 문자열 길이, 버퍼 크기 관련 함수 - strlen, sizeof 문자열 길이 및 버퍼 크기 구하는 함수 중 strlen함수와 sizeof연산자에 관한 내용입니다. ※요약strlen : 문자열의 길이를 구합니다.sizeof : sizeof는 실제로 차지하고 있는 메모리의 크기를 구합니다. ※함수 원형 및 설명 ※예제-strlen, sizeof#include //printf #include //cout #include //strlen #define print(nLen) printf( "%d\n", nLen ) #define PrintOut(nLen) std::cout 더보기
[C언어] 문자열 분리 및 파싱 관련 함수 - strtok, strpbrk 문자열 분리 및 파싱 관련 함수 중 strtok함수와 strpbrk함수에 관한 내용입니다. ※요약 strtok : 문자열을 특정 구분기호로 분리하고자 할 때 사용합니다. 문자열에서 문자세트 중 하나가 발견되면 해당 문자를 NULL로 바꾸고 토큰(분리 문자열)을 반환합니다. strpbrk : 문자열에서 특정 문자의 위치를 검색하며 대소문자를 구분합니다. ※함수 원형 및 설명 ※예제 -strtok#include //printf #include //strtok int main( ) { char *token = NULL; char str1[] = "This is\tTest,Program!\n"; char str2[] = " ,\t\n";//' '이나 ','이나 '\t'이나 '\n'이 들어있는 문자열을 분리 to.. 더보기
[C언어] 문자 검색 관련 함수 - strchr, strrchr 문자 검색 관련 함수 중 strchr함수와 strrchr함수에 관한 내용입니다.문자셋을 이용한 값의 검색은 문자셋 검색 관련 함수 - strspn, strcspn을 참고하세요. ※요약strchr : 문자열의 앞에서 뒤로, 일치되는 문자가 있는지 검색합니다.strrchr : 문자열의 뒤에서 앞으로, 일치되는 문자가 있는지 검색합니다. 사이의 r은 Reverse입니다. ※함수 원형 및 설명 ※예제-strchr, strrchr#include #include int main( ) { char *strTemp; char string[] = "This is a good car!"; strTemp = strchr( string, 'a' ); printf( "%s \n", strTemp ); strTemp = strc.. 더보기
[C언어] 문자열 검색 관련 함수 - strstr 문자열 검색 관련 함수 중 strstr함수에 관한 내용입니다. ※요약strstr : 대소문자를 구분하여 일치되는 문자열이 있는지 검색합니다. ※함수 원형 및 설명 ※예제simple 문자열을 검색 후, 검색된 문자열 포인터로 부터 6글자를 바꾸는 예제#include #include int main( ) { char str[] ="This is a simple string"; char * pch; pch = strstr( str, "simple" ); strncpy( pch, "sample", 6 ); puts( str ); return 0; } 더보기
[C언어] 문자열 비교 관련 함수 - strcmp, strncmp, stricmp, strnicmp 문자열 비교 관련 함수 중 strcmp함수와 strncmp함수, stricmp함수, strnicmp함수에 관한 내용입니다. ※요약strcmp : 대소문자를 구분하여 두 개의 문자열을 비교합니다.strncmp : 대소문자를 구분하여 지정된 길이만큼 두 개의 문자열을 비교합니다.stricmp : 대소문자를 구분하지 않고 두 개의 문자열을 비교합니다.strnicmp : 대소문자를 구분하지 않고 지정된 길이만큼 두 개의 문자열을 비교합니다. ※함수 원형 및 설명 ※예제-strcmp, strncmp, stricmp, strnicmp #include #include char *CompareResult( int nResult ) { switch(nResult) { case 0: return "두 문자열이 같습니다.".. 더보기
[C언어] 문자열 연결 관련 함수 - strcat, strncat 문자열 연결 관련 함수 중 strcat함수와 strncat함수에 관한 내용입니다. ※요약 strcat : 두 개의 문자열을 연결합니다. strncat : 두 개의 문자열을 지정된 길이만큼 연결합니다. ※함수 원형 및 설명 ※예제 -strcat #include #include int main( ) { char str[80]; strcpy( str, "these " ); strcat( str, "strings " ); strcat( str, "are " ); strcat( str, "concatenated." ); puts( str ); return 0; } -strncat #include #include int main( ) { char str1[20]; char str2[20]; strcpy( str1,.. 더보기
[C언어] 문자열 복사 관련 함수 - strcpy, strncpy 문자열 복사 관련 함수 중 함수와 strncpy함수에 관한 내용입니다. ※요약strcpy : NULL문자를 만나기 전까지의 문자열을 복사합니다.strncpy : 문자열을 지정된 길이만큼 복사합니다. str과 cpy 사이에 있는 n(number)은 길이를 의미합니다. ※함수 원형 및 설명 ※예제-strcpy#include #include int main( ) { char str1[]="Sample string"; char str2[40]; char str3[40]; strcpy( str2, str1 ); strcpy( str3, "copy successful" ); printf( "str1: %s\n", str1 ); printf( "str2: %s\n", str2 ); printf( "str3: %s\n.. 더보기