본문으로 바로가기

바다야크

컴퓨터/프로그래밍

해당되는 글 307
  • thumbnail
    컴퓨터/프로그래밍

    C언어 toupper 함수 소문자를 대문자로 변환

    C toupper() 소문자를 대문자로 변환 함수 C언어 함수 toupper()는 인수로 받은 문자가 소문자·대문자에 관계 없이 모두 대문자로 변환하여 반환합니다. 헤더: ctype.h 형태: int toupper( int c) 인수: int c - 변환할 문자 반환: c가 소문자일 때만 대문자로 변환하여 반환하고, 소문자가 아니라면 그대로 반환 C언어 toupper() 함수 예제 #include #include int main( void) { char str[] = "0xaf1Agh!@#"; int ndx; for ( ndx= 0; ndx < strlen( str); ndx++) { str[ndx] = (char)toupper( str[ndx]); } printf( "%s\n", str); return..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 isxdigit 함수 문자가 16진수 수치 문자인지 판별

    C isxdigit() 문자가 16진수 수치 문자인지를 판별 함수 C언어 함수 isxdigit()는 인수로 받은 문자가 16진수 수치 문자인지를 판별합니다. 즉, '0'에서 '9'까지, 그리고 'a'에서 'f'까지 문자인지를 확인합니다. 헤더: ctype.h 형태: int isxdigit( int c) 인수: int c - 판별할 문자 반환: 0 != c는 16진수 수치 문자 C언어 isxdigit() 함수 예제 #include #include #include int main( void) { char *str = "0xaf1Agh\n@"; int ch; int ndx; for ( ndx= 0; ndx < strlen( str); ndx++) { ch = str[ndx]; if ( isxdigit( ch)..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 isupper 함수 문자가 대문자인지 판별

    C isupper() 문자가 대문자인지를 판별하는 함수 C언어 함수 isupper()는 인수로 받은 문자가 대문자인지를 확인하고 대문자이면 0이 아닌 TRUE를 반환합니다. 헤더: ctype.h 형태: int isupper( int c) 인수: int c - 판별할 문자 반환: 0 != c는 대문자 C언어 isupper() 함수 예제 #include #include int main( void) { char *str = "1Ab\n@"; int ch; int ndx; for ( ndx= 0; ndx < strlen( str); ndx++) { ch = str[ndx]; if ( isupper( ch)) printf( "%c(x%02x)는 대문자입니다.\n", ch, ch); else printf( "%c(..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 isspace 함수 공백 문자 판별

    C isspace() 문자가 공백 문자인지를 판별 함수 인수로 받은 문자가 공백 문자(공백, 개행('\n'), 종이넘기('\f'), 탭('\t', '\v'), 복귀('\r') 문자인지를 판별합니다. 헤더: ctype.h 형태: int isspace( int c) 인수: int c - 판별할 문자 반환: 0 != c는 공백 문자 C언어 isspace() 예제 #include #include int main( void) { char *str = "1 A\n\f\t\v\r!@#"; int ch; int ndx; for ( ndx= 0; ndx < strlen( str); ndx++) { ch = str[ndx]; if ( isspace( ch)) printf( "%c(x%02x)는 공백문자입니다.\n", ch..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 ispunct 함수 구획 문자 판별

    C ispunct() 문자가 구획 문자인지를 판별 함수 인수로 받은 문자가 구획 문자인지를 확인하고 구획 문자이면 0이 아닌 값 TRUE를 반환합니다. 구획문자란 공백·영문자·숫자 이외의 !@#$% 같은 화면 출력 가능 문자를 말합니다. 헤더: ctype.h 형태: int ispunct( int c) 인수: int c - 판별할 문자 반환: 0 != c가 구획 문자 C언어 ispunct() 예제 #include #include int main( void) { char *str = "1 A!@#"; int ch; int ndx; for ( ndx= 0; ndx < strlen( str); ndx++) { ch = str[ndx]; if ( ispunct( ch)) printf( "%c(x%02x)는 구획 ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 isprint 함수 인쇄 가능한 문자인지 확인

    C isprint() 문자가 인쇄 가능 여부 판별 함수 C언어 함수 isprint()는 인수로 받은 문자가 인쇄 가능한지를 판별하며 가능하다면 0이 아닌 값 TRUE를 반환합니다. isgraph()와의 차이점은 공백문자도 인쇄 가능 문자로 판별합니다. 헤더: ctype.h 형태: int isprint( int c) 인수: int c - 판별할 문자 반환: 0 != c가 프린트 가능 문자, 공백문자도 포함 C isprint() 예제 #include #include int main( void) { int ch1 = '1'; int ch2 = ' '; int ch3 = '\t'; // 탭 문자 if ( isprint( ch1)) printf( "%c(x%02x)는 인쇄 가능 문자입니다.\n", ch1, ch1..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 islower 함수 소문자 여부 판별

    C islower() 문자가 소문자인지 판별 함수 C언어 함수 islower()는 인수로 받은 문자가 소문자인지를 확인하고 소문자이면 0이 아닌 값 TRUE를 반환합니다. 헤더: ctype.h 형태: int islower( int c) 인수: int c - 판별할 문자 반환: 0 != c가 소문자 C언어 islower() 함수 예제 #include #include int main( void) { int ch1 = '1'; int ch2 = ' '; int ch3 = '\t'; // 탭 문자 if ( isprint( ch1)) printf( "%c(x%02x)는 인쇄 가능 문자입니다.\n", ch1, ch1); else printf( "%c(x%02x)는 인쇄 가능 문자가 아닙니다.\n", ch1, ch1..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 isgraph 함수 인쇄 가능 문자 확인

    C isgraph() 인쇄 가능 문자 여부 확인 함수 C언어 문자 검색 함수 중에 isgraph()는 인수로 받은 문자가 인쇄 가능 여부인지를 확인하고 인쇄 가능 문자라면 0이 아닌 값 TRUE를 반환합니다. 단, 공백 문자는 FALSE입니다. 즉, 프린트했을 때 종이에 쓰여지는지 문자인지를 확인해 줍니다. 비슷한 기능의 isprint() 함수가 있는데, isprint()는 공백 문자까지 인쇄 가능 문자로 판단하여 TRUE로 반환합니다. 헤더: ctype.h 형태: int isgraph( int c) 인수: int c - 판별할 문자 반환: 0 != c가 프린트 가능 문자, 공백 문자는 제외. 공백을 포함하려면 isprint() 사용 C isgraph() 예제 #include #include int ma..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 함수 내 배열은 어디에 생성될까?

    C언어의 배열 생성 위치에 대한 오해 C언어에 대해 어느 정도 자신이 생겼는데도 확실히 알지 못한 것이 있었습니다. 함수 내부에 생성되는 배열 변수는 어디에 생성될까에 대한 호기심입니다. char, short, int 변수는 그 크기가 작아서 스택에 생성되는 것에 대해서 의심하지 않았지만, 배열은 매우 클 수 있는데, 이 배열도 과연 스택에 생성될까 하는 것이죠. 이 문제에 대해 시원하게 설명해 주는 책이 없었고 인터넷이 없던 시절이라서 주위에 C언어라면 방귀 좀 뀐다는 프로그래머에게 물어보면 사람마다 의견이 다르고 서로 언쟁을 올리기도 했습니다. 지금이야 메모리가 8GB·16GB로 매우 크지만, 당시에는 2MB, 돈 좀 쓰면 4MB라서 프로그래머는 메모리 운영에 매우 조심해야 했습니다. 잘 실행되는 프..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 프로그래밍 과제를 위한 MinGW 설치 방법

    C언어 프로그래밍 과제를 위한 MinGW 설치 방법 지인이 C언어 프로그래밍 과제를 받았나 본데 마이크로소프트사의 비주얼 스튜디오 2017을 사용한다고 하네요. 작성한 프로그램을 보니 윈도우 프로그램은 당연히(?) 아니고 텍스트 환경에서 실행하는 예제 수준 정도여서, 그렇다면 비주얼 스튜디오보다는 MINGW가 좋다고 권했습니다. C언어 학습 정도라면 비쥬얼 스튜디오는 너무 크지요. 소 잡는 칼로 닭 잡는 각입니다. 요즘은 "~할 각"이라는 말을 많이 사용하네요. 여하튼, MinGW는 비주얼 스튜디오처럼 화려하지는 못해도 매우 단순해서, 처음 설치 과정이 조금 복잡해서 그렇지 텍스트 에디터와 명령창만 이용하기 때문에 비주얼 스튜디오의 복잡한 기능을 학습할 필요가 없습니다. 메모장을 이용해도 되고 자주 사용..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 공용체 union 예제 설명

    C언어 union 유니온 공용체 예제 설명 포인터 때문에 C언어 배우기가 어렵다는 말씀을 자주 듣는데요, 생각 외로 공용체 union를 이해하지 못하는 분이 많네요. 이해한다고 해도 어디에 활용할지 몰라서 사용하지 않는 경우도 많은데요, struct만큼이나 매우 유용합니다. union의 쓰임새를 깨닫고 코드에 적용하다 보면 왜 C언어가 어셈블러에 가깝다는 얘기가 나오는지 이해가 될 것입니다. C언어의 변수 타입은 문자·숫자·문자열로 특성에 맞추어 선언한다기보다는 변수의 크기를 정하는 쪽에 가깝습니다. 아울러 이렇게 생각하는 것이 C언어 코딩에 도움이 큽니다. 예를 들어 int는 정수 변수이기도 하지만, 4바이트의 변수로, char는 문자보다는 1바이트 크기의 변수로 생각한다면 C언어에서 변수 다루기가 편..
  • thumbnail
    컴퓨터/프로그래밍

    OpenSSL AES cbc c example 암호·복호화 예제

    OpenSSL AES cbc c example 암호·복호화 예제 AES 암호 루틴이 필요해서 OpenSSL을 이용하기로 했습니다. MD5 해시코드 함수 때문에 OpenSSL 사용해 본 적이 있어서 쉽게 끝날 줄 알았습니다. 구글에서 OpenSSL AES example을 검색해 보니 cbc 모드 예제가 보이네요. 그리고 예제대로 코드를 작성했는데 처음에는 잘 되는 줄 알았습니다. #include #include #include #include #include typedef unsigned char U8; static const U8 cipher_key[]= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5}; #define KEY_BIT 128 int aes_encryp..
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.