목차
- 이전 포스팅의 C 언어 strptime 함수로 날짜 문자열을 타임스탬프로 변환하기 예제 학습 링크
- 이전 포스팅의 C 언어 rand 무작위 랜덤 값 생성 예제 학습 링크
- 이전 포스팅의 C 언어 Openssl 라이브러리 빌드 및 Codelite 설치 예제 학습 링크
- C 언어 perror 함수로 오류 메세지 stdout에 출력 예제
- C 언어 perror 함수 출력 결과 확인 예제
이전 포스팅의 C 언어 strptime 함수로 날짜 문자열을 타임스탬프로 변환하기 예제 학습 링크
이전 포스팅에서는 c언어에서 strptime 함수를 사용하여 날짜 문자열을 타임스탬프 값으로 파싱 및 변환하는 예제에 대해 알아보았습니다. 흔히 인터넷 상에서 웹페이지를 돌아다니다보면 "yyyy-mm-dd" 와 같은 문자열을 확인한 적이 있을겁니다. 바로 이 문자열은 날짜를 가리키는 타임스탬프 값을 날짜 포맷의 문자열로 변환하기 위한 문자열입니다. c언어에서는 strptime 함수를 사용하면 "yyyy-mm-dd"로 표현되어있는 날짜 문자열을 반대로 파싱하여 타임스탬프 값으로 변환이 가능합니다. 만약 c언어의 strptime 함수 사용법이 궁금하시다면 아래 링크를 참고해주세요.
2023.07.27 - [C] - [C/C++] strptime 날짜 문자열을 날짜 및 시간으로 변환하기
이전 포스팅의 C 언어 rand 무작위 랜덤 값 생성 예제 학습 링크
다음으로 이전 포스팅에서는 c언어에서 rand 함수를 사용하여 무작위 랜덤 정수 값을 얻는 방법에 대해 알아보았습니다. 무작위란 곧 랜덤을 의미하며 사용자 비밀번호를 만들 때 혹은 랜덤한 인덱스 값을 생성할 때 바로 이 rand 함수를 사용합니다. c언어에서 리눅스 시스템의 랜덤 값 생성을 위한 엔트로피 수집 방법은 다양하지만 사용자 입장에서 랜덤값을 쉽게 만들기위함으로 rand를 사용합니다. 만약 0부터 100까지의 무작위 숫자를 구해야할 필요가 있으시다면 아래의 포스팅을 참고하여 c언어에서 rand 함수를 활용하는 방법에 대해 학습해보세요.
2023.07.27 - [C] - [C/C++] rand 무작위 랜덤 값 생성하기
이전 포스팅의 C 언어 Openssl 라이브러리 빌드 및 Codelite 설치 예제 학습 링크
마지막으로 이전 포스팅에서는 c언어에서 openssl 라이브러리의 소스 코드를 공식 홈페이지에서 다운로드 받아 정적 라이브러리로 빌드하는 방법에 대해 알아보았습니다. 정적 라이브러리를 만들기 위해 리눅스 우분투 시스템에서 예제를 진행하였습니다. 또한 이렇게 컴파일된 openssl static library를 codelite 프로젝트에 링크하여 사용하기 위해 codelite를 설치하는 방법에 대해 알아보았습니다. 만약 해당 포스팅의 예제처럼 리눅스 환경에서 codelite로 openssl 라이브러리 사용 방법을 찾고 계시다면 아래 링크를 참고해서 학습해주세요.
2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 빌드 및 Codelite 설치, 개발 환경 구성(ubuntu, codelite)
C 언어 perror 함수로 오류 메세지 stdout에 출력 예제
아래는 c언어에서 stdio.h 헤더에서 제공하는 perror 함수를 사용하는 예제입니다. perror 함수에 인자로 오류 사항이 가리키는 문자열을 전달함으로써 전역적으로 오류 메세지를 설정할 수 있습니다. 또한 stdout에 해당 오류 메세지가 출력됩니다.
#include <stdio.h>
#include <errno.h>
int main() {
FILE *filePointer;
// 존재하지 않는 파일 열기
filePointer = fopen("nonexistent.txt", "r");
if (filePointer == NULL) {
perror("파일 열기 실패");
return errno; // 에러 코드 반환
}
fclose(filePointer);
return 0;
}
C 언어 perror 함수 출력 결과 확인 예제
아래는 c언어에서 perror 함수를 호출하여 오류 메세지를 출력한 결과입니다.
파일 열기 실패: No such file or directory
Hit any key to continue...