C/응용

·C/응용
C언어에서 fputs 함수는 문자열을 파일에 쓰는 데 사용되는 함수입니다. 우리가 이전 포스팅에서 확인한 fprintf도 파일에 데이터를 쓰는 함수이지만 fputs도 동일합니다. 2023.07.20 - [C/stdio] - [C언어/C++] fprintf 함수를 활용한 파일 쓰기 [C언어/C++] fprintf 함수를 활용한 파일 쓰기 C언어에서 fprintf 함수는 파일에 데이터를 출력하는 데 사용되는 중요한 함수입니다. 오늘은 이 함수를 이용한 예제를 확인해 보도록 하겠습니다. 우선 fprintf 함수 원형을 살펴보겠습니다. fprintf salguworld.tistory.com 함수의 맨 앞 f 알파벳이 붙는 이유는 file을 핸들링하는 함수이기 때문입니다. 자 그러면 fputs 함수원형부터 확인해..
·C/응용
strcpy 프로그램을 개발하다 보면 배열의 문자열들을 다른 배열에 복사해야 할 때가 있습니다. 이럴 때 우리는 string.h 에 있는 유틸리티 함수들을 많이 사용하게 됩니다. C 언어에서는 strcpy 라는 함수를 통해 문자열 복사를 지원합니다. 이 함수는 소스 문자열을 대상 문자열에 복사하여 문자열을 복제합니다. strcpy 함수를 사용하면 문자열을 효율적으로 복사하고 조작할 수 있습니다. strcpy 함수 원형은? strcpy 함수는 헤더 파일에 선언되어 있으며, 다음과 같은 원형을 갖습니다. char *strcpy(char *dest, const char *src); strcpy 인자는? strcpy 함수는 아래와 같은 총두 개의 인자를 받습니다. 각 인자에 대해 알아보도록 하겠습니다. dest..
·C/응용
strcmp 오늘은 C언어에서 두 개의 문자열이 같은 문자열인지 비교하는 함수인 strcmp에 대해 알아보도록 하겠습니다. 이 함수는 두 개의 문자열이 같은지 다른지 비교하기 위해서 문자열 길이도 확인합니다. 왼쪽 오른쪽 문자열이 있다면 왼쪽 문자열 길이는 7인데 오른쪽 문자열의 길이가 5라면 이미 다르다는 게 판명되겠죠? 이러한 원리로 문자열이 같은지 검사하는 함수입니다. 간단하면서도 재미있는 strcmp에 대해 알아보겠습니다. strcmp 함수 원형은? strcmp 함수는 헤더 파일에 선언되어 있으며, 다음과 같은 원형을 갖습니다 int strcmp(const char *s1, const char *s2); strcmp 인자는? strcmp 함수는 두 개의 인자를 가집니다. s1: 비교할 첫 번째 문..
·C/응용
프로그래밍에서 스레드란? 프로세스는 1개의 메인 스레드로 구성되어 코드가 실행되는 주체입니다. 하나의 프로세스에서 독립적으로 2개 이상의 코드를 병렬 처리하기 위해서 우리는 스레드를 사용합니다. 즉, 스레드는 독립적인 실행을 수행하며 하나의 프로세스 안에서 여러 개의 스레드를 동시에 실행할 수 있습니다. 우리는 이러한 처리를 병렬처리라고 합니다. 개별 스레드는 자신만의 스텍 메모리 영역을 가지고 관리하며 1개의 부모 프로세스 내에서 자원을 서로 공유할 수 있습니다. 여기서 자원이라 함은 곧 변수를 의미하기도 합니다. 한 개의 일만 처리하는게 아닌 동시에 여러 개의 일을 처리할 수 있으므로 우리 프로그램의 작업 성능을 향상합니다. C언어에서 pthread란? C 언어에서 pthread는 POSIX 스레드를..
·C/응용
strcat 오늘은 C언어의 strcat 함수에 대해 알아보도록 하겠습니다. strcat함수는 하나의 문자열 뒤에 새로운 문자열을 이어 붙이는 함수입니다. 이 함수는 붙이고싶은 문자열을 붙이고 싶은 대상에 합칩니다. 결국 memcpy, strncpy와 비슷한 기능을 하게 됩니다. 하지만 모든게 동일하다면 함수가 괜히 나눠져 있을 필요는 없겠죠? 차이점도 천천히 알아보도록 하겠습니다. strcat 함수 원형은? strcat 함수는 헤더 파일에 선언되어 있으며, 다음과 같은 원형을 갖습니다 char *strcat(char *dest, const char *src); strcat 인자는? strcat 함수는 두 개의 인자를 가집니다. dest: 문자열이 추가될 대상 문자열의 시작 주소를 가리키는 포인터 src..
·C/응용
C언어에서 함수 포인터란? 포인터 변수에서 더 나아가 값을 저장할 수 있는 일반 변수에 함수를 가리키는 함수 주소값을 저장하면 이 변수가 곧 함수 포인터가 됩니다. 그리고 이 주소를 참조하여 변수에 저장된 함수를 호출할 수 있습니다. 즉, 동적으로 프로그램이 실행되는 과정에서 중간 중간 변수가 가리키는 함수의 주소를 바꾸면 호출할 함수도 바꿀 수 있다는 의미입니다. 이런 프로그래밍은 함수의 인자를 동적으로 변경시킬 수 있어 프로그램의 흐름을 효율적이고 유연하게 관리할 수 있도록 합니다. 함수 포인터 변수 선언 예제 함수 포인터 변수를 선언하는 방법은 저장하려는 함수의 원형과 동일한 타입으로 선언해야 합니다. 예를 들어, 반환 타입이 int형이고 함수가 받는 인자의 타입이 char 타입 한개를 받는 함수라..
·C/응용
strncpy 자 오늘은 문자열의 일부분만 떼내어 다른 문자열 버퍼에 복사하는 strncpy에 대해 알아보도록 하겠습니다. 일부분을 뗀다는 말은 무슨 말일까요? 우리가 이전에 배웠던 strcpy는 문자열 끝 0이 나올 때까지 전체 문자열을 복사하는 함수였습니다. 그런데 오늘은 한 문자열이 있다면 이중 3글자만 떼내어 복사하는 함수에 대해 알아봅니다. strncpy는 글자를 복사한 후 결과물의 마지막에 0을 추가하여 정상적인 문자열을 만들어줍니다. 이제 strncpy 함수원형을 알아보겠습니다. strncpy 함수 원형은? strncpy 함수는 헤더 파일에 선언되어 있으며, 다음과 같은 원형을 갖습니다 char *strncpy(char *dest, const char *src, size_t n); strnc..
·C/응용
C언어의 BSD 소켓이란? BSD 소켓은 Berkeley Software Distribution에서 개발된 네트워크 프로그래밍 인터페이스입니다. BSD 소켓은 TCP/IP 프로토콜을 기반으로 하며, 소켓이라는 추상적인 개념을 통해 네트워크 통신을 수행할 수 있습니다. BSD 소켓은 다양한 운영체제에서 지원되며, C언어에서는 헤더 파일을 포함하여 사용할 수 있습니다. 서버 소켓 생성 예제 서버 소켓을 생성하려면 socket() 함수를 사용합니다. socket() 함수는 세 개의 인자를 받으며, 각각 소켓의 도메인, 타입, 프로토콜을 지정합니다. Socket 인자 도메인 주소 체계를 의미하며, 일반적으로 AF_INET (IPv4) 또는 AF_INET6 (IPv6)를 사용합니다. 타입 전송 방식을 의미하며, ..
·C/응용
C 관련 포스팅 목록 2021.12.07 - [C/응용] - C/C++ 함수 포인터 변수 활용 예제 - 2(구조체 함수 포인터) 2021.12.06 - [C/응용] - C/C++ 함수 포인터 변수 활용 예제 - 1 2021.12.19 - [C/stdio] - C 파일 오프셋 위치 이동 예제 - 2(stdio/fseek/SEEK_END) 2021.12.18 - [C/stdio] - C 파일 오프셋 위치 이동 예제 - 1(stdio/fseek/SEEK_SET) 2021.12.05 - [C/stdio] - C 파일 실시간 쓰기 예제(stdio/fflush) JAVA 인스턴스처럼 C에서 객체 생성을 따라 하기 안녕하세요. 오늘은 이전 포스팅에서 다뤘던 함수 포인터 활용 예제의 심화 학습으로 마무리 포스팅을 써보..
·C/응용
C 관련 포스팅 목록 2021.12.06 - [C/응용] - C/C++ 함수 포인터 변수 활용 예제 - 1 2021.12.19 - [C/stdio] - C 파일 오프셋 위치 이동 예제 - 2(stdio/fseek/SEEK_END) 2021.12.18 - [C/stdio] - C 파일 오프셋 위치 이동 예제 - 1(stdio/fseek/SEEK_SET) 2021.12.05 - [C/stdio] - C 파일 실시간 쓰기 예제(stdio/fflush) 2021.12.01 - [C/stdio] - C 파일 생성 및 스트림 열기 예제(stdio/fopen) C 구조체 멤버 변수로 함수 포인터 변수를 사용하는 이유 안녕하세요. 오늘은 이전 포스팅에서 다뤘던 함수 포인터 활용 심화 예제를 알아보도록 하겠습니다. 포인..
·C/응용
C 관련 포스팅 목록 2021.12.19 - [C/stdio] - C 파일 오프셋 위치 이동 예제 - 2(stdio/fseek/SEEK_END) 2021.12.18 - [C/stdio] - C 파일 오프셋 위치 이동 예제 - 1(stdio/fseek/SEEK_SET) 2021.12.05 - [C/stdio] - C 파일 실시간 쓰기 예제(stdio/fflush) 2021.12.01 - [C/stdio] - C 파일 생성 및 스트림 열기 예제(stdio/fopen) 2021.11.30 - [C/stdio] - C 파일 스트림 닫기 예제(stdio/fclose) C에서 함수 포인터 변수를 사용하여 함수 호출하기 안녕하세요. 오늘은 C/C++ 에서 함수 포인터 변수를 활용한 예제들을 알아보도록 하겠습니다. 포..