본문 바로가기

pwrite() :: 파일 오프셋을 바꾸지 않고 지정 위치 쓰기

2026.03.05 23:25:45 0

    • 글자 크기

C 언어에서 현재 파일 위치를 건드리지 않고 특정 위치에 기록하려면 pwrite()를 쓴다.

인수와 옵션의 의미

fd는 대상 파일이나 통신 번호다.
buf는 read 계열에서는 결과를 받을 쓰기 가능한 공간이고 write 계열에서는 보낼 내용이다.
count는 원소 수가 아니라 바이트 수다.
pread()와 pwrite()의 offset은 파일 시작부터의 바이트 위치이며 공유 현재 위치를 바꾸지 않는다.
읽기의 0은 보통 EOF지만 UDP에서는 빈 데이터그램도 가능하다.
쓰기가 일부만 성공하면 남은 구간을 이어 처리한다.

직접 실행할 코드

#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/file.h>
#include <sys/stat.h>
#include <sys/uio.h>

int main(void) {
    FILE *fp = tmpfile();
    if (!fp)
        return 1;
    if (fputs("abcdef", fp) == EOF || fflush(fp) == EOF) {
        fclose(fp);
        return 1;
    }
    int fd = fileno(fp);
    if (fd < 0) {
        fclose(fp);
        return 1;
    }
    ssize_t n = pwrite(fd, "XY", 2, 0);
    if (n < 0) {
        fclose(fp);
        return 1;
    }
    printf("written=%zd\n", n);
    if (fclose(fp) == EOF)
        return 1;
    return 0;
}

실행 출력

written=2

현재 파일 위치가 끝에 있어도 offset 0에 XY를 쓴다.
원래 파일 위치는 그대로다.

호출 순서에서 볼 부분

buffer는 호출 동안 유효한 배열이다.
쓰기 예제라면 미리 내용을 채워 둔다.
한 번에 배열 전체가 처리된다고 가정하지 않고 실제 반환 길이를 다음 작업의 기준으로 삼는다.

반환값과 실패 처리

실제 기록 바이트 수를 반환하고 오류는 -1이다.
부분 쓰기를 처리해야 한다.

offset은 바이트 단위다.
리눅스에서 O_APPEND로 연 파일은 지정 위치 대신 파일 끝에 기록되는 문제가 있으므로 위치 기록용 파일의 열기 모드를 구분한다.

빌드하고 출력 확인하기

위 코드를 example.c로 저장한다.
-std=c11은 언어 기준이고 -Wall과 -Wextra는 경고를 켠다.
-lm은 수학 라이브러리 링크이며 소스 파일 뒤에 둔다.
커널 기능이나 libc 확장 함수는 설치 환경의 지원 조건도 맞아야 한다.

gcc -std=c11 -Wall -Wextra example.c -lm -o example
./example

참고: pwrite — Linux man-pages

전자기기 쪽으로 문외한 저희 부모님과 지인을 보고 컴퓨터 쪽에 지식이 없는 분들도 쉽게 프로그램을 이용할 수 있도록 하자는 생각으로 포스팅을 하고 있으며 유익한 정보를 최대한 많이 담아두는 것이 저의 궁극적인 목표입니다.
readv() :: 여러 버퍼로 한 번에 분산해서 읽기 pread() :: 파일 오프셋을 바꾸지 않고 지정 위치 읽기

답글 달기

전화번호 또는 이메일을 남겨두시면 댓글이 달렸을경우 알려드립니다.
사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )

번호 제목 날짜
1240 QUdpSocket::bind() :: UDP 수신 포트 준비하기 2026.11.09
1239 QTcpSocket::connectToHost() :: 연결과 데이터 수신을 나누어 처리하기 2026.11.09
1238 QNetworkAccessManager::get() :: HTTP 응답을 비동기로 받기 2026.11.09
1237 QProcess::start() :: 프로그램과 인수를 분리해 실행하기 2026.11.09
1236 QObject::moveToThread() :: 작업 객체의 슬롯을 다른 스레드에서 실행하기 2026.11.08
1235 QThread::create() :: 짧은 작업을 별도 스레드에서 실행하기 2026.11.08
1234 QItemSelectionModel::selectionChanged() :: 선택된 행 읽기 2026.11.08
1233 QSortFilterProxyModel::setFilterFixedString() :: 원본을 유지하며 목록 거르기 2026.11.08
1232 QStandardItemModel::setItem() :: 표의 행과 열에 데이터 넣기 2026.11.07
1231 QStringListModel::setStringList() :: 문자열 목록을 뷰에 전달하기 2026.11.07
1230 QPropertyAnimation::start() :: QObject 속성 값을 시간에 따라 바꾸기 2026.11.07
1229 QShortcut::activated() :: 위젯에 키보드 동작 붙이기 2026.11.07
1228 QWidget::paintEvent() :: 위젯 안에 직접 그리기 2026.11.06
1227 QObject::installEventFilter() :: 입력 이벤트를 먼저 확인하기 2026.11.06
1226 QDialog::open() :: 중첩 이벤트 루프 없이 대화상자 열기 2026.11.06
1225 QMessageBox::question() :: 확인 응답을 명시적으로 처리하기 2026.11.06
1224 QFileDialog::getOpenFileName() :: 파일 선택과 취소 구분하기 2026.11.06
1223 QMenu::popup() :: 우클릭 위치에 메뉴 표시하기 2026.11.05
1222 QStatusBar::showMessage() :: 잠깐 보이는 안내 표시하기 2026.11.05
1221 QAction::triggered() :: 메뉴와 단축키를 같은 동작에 연결하기 2026.11.05
1220 QMainWindow::setCentralWidget() :: 본문 위젯 설치하기 2026.11.05
1219 QScrollArea::setWidget() :: 긴 설정 화면에 스크롤 붙이기 2026.11.05
1218 QSplitter::addWidget() :: 사용자가 영역 크기를 조절하게 하기 2026.11.04
1217 QTabWidget::addTab() :: 탭 페이지와 제목 연결하기 2026.11.04
1216 QStackedWidget::setCurrentIndex() :: 한 자리에서 화면 전환하기 2026.11.04
1215 QSlider::valueChanged() :: 슬라이더와 숫자 입력 동기화하기 2026.11.04
1214 QProgressBar::setRange() :: 진행률과 대기 상태 표시하기 2026.11.04
1213 QTextEdit::setHtml() :: 리치 텍스트와 외부 문자열 섞기 2026.11.03
1212 QPlainTextEdit::appendPlainText() :: 로그를 줄 단위로 추가하기 2026.11.03
1211 QLabel::setPixmap() :: 이미지 표시와 원본 크기 구분하기 2026.11.03
1210 QLabel::setText() :: 일반 문자열과 HTML 표시 구분하기 2026.11.03
1209 QComboBox::currentIndexChanged() :: 선택 변경 시점 처리하기 2026.11.03
1208 QComboBox::currentData() :: 표시 이름 대신 실제 선택값 읽기 2026.11.01
1207 QDoubleSpinBox::setDecimals() :: 소수 자릿수와 반올림 확인하기 2026.11.01
1206 QSpinBox::valueChanged() :: 범위 안의 정수 변경 받기 2026.11.01
1205 QLineEdit::setValidator() :: 정수 입력 범위 검사하기 2026.11.01
1204 QLineEdit::textEdited() :: 사용자 편집만 구분해 받기 2026.11.01
1203 QLineEdit::setText() :: 코드로 입력값 채우기 2026.10.31
1202 QLineEdit::text() :: 입력값을 읽고 빈 문자열 검사하기 2026.10.31
1201 QButtonGroup::idClicked() :: 라디오 버튼을 번호로 구분하기 2026.10.31
1200 QCheckBox::toggled() :: 선택 여부를 bool로 받기 2026.10.30
1199 QPushButton::clicked() :: 체크 상태와 클릭 동작 구분하기 2026.10.30
1198 QFormLayout::addRow() :: 라벨과 입력란을 한 행으로 묶기 2026.10.30
1197 QGridLayout::addWidget() :: 행과 열 및 병합 영역 지정하기 2026.10.30
1196 QHBoxLayout::addStretch() :: 버튼을 오른쪽으로 밀기 2026.10.30
1195 QVBoxLayout::addWidget() :: 위에서 아래로 위젯 배치하기 2026.10.29
1194 QWidget::setSizePolicy() :: 남는 공간을 받을 위젯 정하기 2026.10.29
1193 QWidget::setMinimumSize() :: 창을 너무 작게 줄이지 못하게 하기 2026.10.28
1192 QWidget::setVisible() :: 선택에 따라 상세 영역 숨기기 2026.10.28
1191 QWidget::setEnabled() :: 화면을 남겨 두고 입력만 막기 2026.10.28
1190 QWidget::show() :: 부모 창과 자식 위젯 표시하기 2026.10.28
1189 QHash::contains() :: 키 존재 여부와 값 조회 나누기 2026.10.28
1188 QMap::value() :: 없는 키를 추가하지 않고 값 읽기 2026.10.27
1187 QList::append() :: 목록 끝에 값 추가하기 2026.10.27
1186 QVariant::toInt() :: 값의 변환 성공 여부 확인하기 2026.10.27
1185 QJsonDocument::toJson() :: JSON 객체를 UTF-8로 저장하기 2026.10.27
1184 QJsonDocument::fromJson() :: JSON 파싱 오류와 최상위 형식 확인하기 2026.10.27
1183 QSettings::value() :: 기본값과 저장된 값 구분하기 2026.10.26
1182 QSettings::setValue() :: 설정 키를 저장하고 오류 확인하기 2026.10.26
1181 QStandardPaths::writableLocation() :: 사용자별 저장 경로 찾기 2026.10.26
1180 QFileInfo::exists() :: 경로 존재 여부와 파일 종류 확인하기 2026.10.26
1179 QDir::entryList() :: 디렉터리에서 필요한 파일만 고르기 2026.10.26
1178 QSaveFile::commit() :: 저장이 끝난 뒤 파일 교체하기 2026.10.25
1177 QTextStream::readLine() :: 텍스트 파일을 줄 단위로 읽기 2026.10.25
1176 QFile::readAll() :: 파일 전체를 읽고 바이트로 다루기 2026.10.25
1175 QFile::open() :: 파일을 여는 모드와 실패 처리 2026.10.24
1174 QLocale::toDouble() :: 지역 형식으로 입력한 숫자 읽기 2026.10.24
1173 QDateTime::fromString() :: 날짜를 읽고 유효성 확인하기 2026.10.24
1172 QDateTime::toString() :: 시간대가 드러나는 날짜 문자열 만들기 2026.10.24
1171 QRegularExpression::match() :: 일치 결과와 캡처 읽기 2026.10.24
1170 QByteArray::toHex() :: 바이너리 값을 16진수로 확인하기 2026.10.23
1169 QStringList::join() :: 문자열 목록을 한 줄로 합치기 2026.10.23
1168 QString::number() :: 숫자의 진법과 소수 자릿수 지정하기 2026.10.23
1167 QString::toUtf8() :: 문자열을 UTF-8 바이트로 내보내기 2026.10.23
1166 QString::fromUtf8() :: UTF-8 바이트를 문자열로 읽기 2026.10.23
1165 QString::trimmed() :: 앞뒤 공백만 제거하기 2026.10.22
1164 QString::split() :: 구분자로 나눈 항목 읽기 2026.10.22
1163 QString::toInt() :: 문자열을 정수로 읽고 실패 확인하기 2026.10.22
1162 QString::arg() :: 문자열의 자리표시자 채우기 2026.10.22
1161 QElapsedTimer::elapsed() :: 처리에 걸린 시간 측정하기 2026.10.22
1160 QTimer::singleShot() :: 잠시 뒤 한 번만 실행하기 2026.10.21
1159 date :: 날짜 형식과 시간대 확인하기 2026.10.21
1158 env :: 환경 변수 목록과 실행 환경 지정하기 2026.10.21
1157 timeout :: 명령의 최대 실행 시간 제한하기 2026.10.21
1156 lsof :: 프로세스가 열고 있는 파일 조회하기 2026.10.21
1155 strace :: 프로세스의 시스템 호출 추적하기 2026.10.20
1154 dmesg :: 커널 메시지 확인하기 2026.10.20
1153 journalctl :: systemd 저널에서 로그 조회하기 2026.10.20
1152 systemctl :: systemd 서비스 상태 확인하기 2026.10.20
1151 scp :: SSH를 통해 파일 복사하기 2026.10.20
1150 ssh :: 암호화된 원격 셸 접속하기 2026.10.19
1149 rsync :: 파일 차이를 계산해 동기화하기 2026.10.19
1148 gzip :: 파일을 gzip 형식으로 압축하기 2026.10.19
1147 tar :: 아카이브 안의 파일 목록 확인하기 2026.10.19
1146 sha256sum :: 파일의 SHA-256 해시 확인하기 2026.10.19
1145 wget :: 다운로드 전에 URL 응답 확인하기 2026.10.18
1144 curl :: HTTP 응답과 헤더 확인하기 2026.10.18
1143 ping :: ICMP 응답으로 기본 연결 확인하기 2026.10.18
1142 ip route :: 패킷 경로와 기본 게이트웨이 확인하기 2026.10.18
1141 ip address :: 네트워크 인터페이스 주소 확인하기 2026.10.17
1140 ss :: 소켓 연결과 대기 포트 조회하기 2026.10.17
1139 uptime :: 가동 시간과 load average 확인하기 2026.10.17
1138 vmstat :: 메모리와 스케줄링 및 I/O 상태 보기 2026.10.17
1137 free :: 시스템 메모리 사용량 보기 2026.10.17
1136 top :: CPU와 메모리 사용량 관찰하기 2026.10.16
1135 pgrep :: 이름과 조건으로 PID 찾기 2026.10.16
1134 ps :: 실행 중인 프로세스 보기 2026.10.16
1133 findmnt :: 현재 마운트 관계 확인하기 2026.10.16
1132 QTimer::start() :: 일정 간격으로 작업 실행하기 2026.10.16
1131 lsblk :: 블록 장치와 파티션 관계 보기 2026.10.15
1130 df :: 파일 시스템 남은 공간 확인하기 2026.10.15
1129 du :: 경로별 디스크 사용량 보기 2026.10.15
1128 stat :: 파일 메타데이터 표시하기 2026.10.15
1127 file :: 파일 내용을 보고 형식 추정하기 2026.10.15
1126 xxd :: 바이너리 파일을 16진 덤프로 보기 2026.10.13
1125 od :: 파일 바이트를 16진수로 관찰하기 2026.10.13
1124 cmp :: 두 파일을 바이트 단위로 비교하기 2026.10.13
1123 diff :: 두 텍스트 파일의 차이 보기 2026.10.13
1122 comm :: 정렬된 두 파일의 공통과 차이 구하기 2026.10.13
1121 join :: 공통 필드 기준으로 두 파일 합치기 2026.10.12
1120 paste :: 여러 파일을 열 방향으로 합치기 2026.10.12
1119 tee :: 출력을 화면과 파일에 동시에 기록하기 2026.10.12
1118 tr :: 문자 집합 변환하기 2026.10.12
1117 wc :: 줄과 단어 및 바이트 수 세기 2026.10.12
1116 tail :: 파일 끝과 추가되는 줄 보기 2026.10.10
1115 head :: 파일 앞부분 확인하기 2026.10.10
1114 uniq :: 인접한 중복 줄 정리하기 2026.10.10
1113 sort :: 텍스트 줄 정렬하기 2026.10.10
1112 cut :: 구분자로 나뉜 특정 필드 추출하기 2026.10.09
1111 awk :: 공백으로 나뉜 열 처리하기 2026.10.09
1110 sed :: 텍스트 줄을 패턴으로 치환하기 2026.10.09
1109 grep :: 문자열 패턴이 들어 있는 줄 찾기 2026.10.09
1108 find :: 조건에 맞는 경로 찾기 2026.10.08
1107 glob :: 와일드카드로 파일 이름 확장하기 2026.10.08
1106 [[ =~ ]] :: bash에서 정규식으로 문자열 검사하기 2026.10.08
1105 declare -A :: bash 연관 배열로 키와 값 저장하기 2026.10.08
1104 bash 배열 :: bash 배열의 항목 경계 보존하기 2026.10.08
1103 <(command) :: 명령 출력을 임시 파일 경로처럼 연결하기 2026.10.05
1102 <<< :: bash에서 문자열 한 줄을 표준 입력으로 넘기기 2026.10.05
1101 /dev/null :: 필요 없는 출력 버리기 2026.10.05
1100 2>&1 :: 표준 오류를 표준 출력에 합치기 2026.10.05
1099 2> :: 오류 출력과 일반 출력 분리하기 2026.10.05
1098 > / >> :: 표준 출력을 파일에 기록하기 2026.10.04
1097 { commands; } :: 현재 셸에서 명령 묶기 2026.10.04
1096 ( commands ) :: 괄호로 실행 환경 분리하기 2026.10.04
1095 $((expression)) :: 셸 정수 계산하기 2026.10.04
1094 $(command) :: 명령 출력 결과를 변수에 저장하기 2026.10.04
1093 ${value%pattern} :: 문자열 뒷부분 패턴 제거하기 2026.10.03
1092 ${value##pattern} :: 문자열 앞부분 패턴 제거하기 2026.10.03
1091 ${#value} :: 변수 문자열 길이 구하기 2026.10.03
1090 ${value:?message} :: 필수 변수 누락 시 오류 내기 2026.10.03
1089 ${value:-default} :: 미설정 변수의 기본값 지정하기 2026.10.03
1088 IFS :: 셸 단어 분리 규칙 이해하기 2026.10.02
1087 hash :: 실행 파일 경로 캐시 확인과 초기화하기 2026.10.02
1086 unalias :: 등록한 명령 별명 제거하기 2026.10.02
1085 alias :: 대화형 명령의 짧은 별명 만들기 2026.10.02
1084 source :: 현재 셸에서 다른 스크립트 읽기 2026.10.02
1083 ulimit :: 셸과 자식의 자원 제한 확인하기 2026.10.01
1082 umask :: 셸에서 새 파일의 기본 권한 제한하기 2026.10.01
1081 bg :: 정지된 작업을 백그라운드에서 계속하기 2026.10.01
1080 fg :: 정지되거나 배경인 작업을 전면으로 옮기기 2026.10.01
1079 jobs :: 현재 셸의 작업 목록 보기 2026.10.01
1078 wait :: 백그라운드 작업의 종료 기다리기 2026.09.30
1077 exit :: 스크립트 종료 상태 지정하기 2026.09.30
1076 return :: 셸 함수의 종료 상태 반환하기 2026.09.30
1075 continue :: 반복문의 다음 회차로 넘어가기 2026.09.30
1074 break :: 현재 반복문 빠져나오기 2026.09.30
1073 until :: 조건이 성공할 때까지 반복하기 2026.09.29
1072 while :: 조건이 참인 동안 반복하기 2026.09.29
1071 for :: 인수 목록을 하나씩 순회하기 2026.09.29
1070 case :: 패턴별로 실행 경로 나누기 2026.09.29
1069 test :: 파일과 문자열의 조건 검사하기 2026.09.28
1068 getopts :: 셸 스크립트의 짧은 옵션 해석하기 2026.09.28
1067 shift :: 위치 인수 목록을 앞으로 당기기 2026.09.28
1066 local :: bash 함수의 지역 변수 만들기 2026.09.28
1065 readonly :: 값을 변경할 수 없는 변수 만들기 2026.09.28
1064 unset :: 셸 변수 또는 함수 제거하기 2026.09.25
1063 export :: 자식 프로세스에 환경 변수 전달하기 2026.09.25
1062 command :: 셸 함수를 건너뛰고 명령 실행하기 2026.09.25
1061 type :: 명령이 함수인지 내장인지 확인하기 2026.09.25
1060 cd :: 현재 셸의 작업 디렉터리 바꾸기 2026.09.24
1059 pwd :: 현재 작업 디렉터리 확인하기 2026.09.24
1058 printf :: 서식과 개행을 지정해 안전하게 출력하기 2026.09.24
1057 std::adjacent_difference() :: 이웃 원소 간 차이 구하기 2026.09.24
1056 std::partial_sum() :: 앞에서부터 누적합 구하기 2026.09.24
1055 std::copy_if() :: 조건에 맞는 원소만 복사하기 2026.09.23
1054 std::copy() :: 원소 범위를 다른 버퍼에 복사하기 2026.09.23
1053 std::generate() :: 생성 함수로 원소 채우기 2026.09.23
1052 std::transform() :: 각 원소를 함수 결과로 변환하기 2026.09.23
1051 std::for_each() :: 범위의 각 원소에 함수 적용하기 2026.09.23
1050 std::adjacent_find() :: 이웃한 같은 원소 쌍 찾기 2026.09.22
1049 std::prev_permutation() :: 사전식 이전 순열 만들기 2026.09.22
1048 std::next_permutation() :: 사전식 다음 순열 만들기 2026.09.22
1047 std::is_heap() :: 범위가 힙 조건을 만족하는지 확인하기 2026.09.22
1046 std::sort_heap() :: 힙을 정렬된 범위로 바꾸기 2026.09.22
1045 std::pop_heap() :: 힙의 최대 원소를 뒤로 보내기 2026.09.21
1044 std::push_heap() :: 마지막 새 원소를 기존 힙에 편입하기 2026.09.21
1043 std::make_heap() :: 범위를 최대 힙으로 만들기 2026.09.21
1042 std::is_partitioned() :: 조건별로 이미 분리됐는지 확인하기 2026.09.21
1041 std::stable_partition() :: 상대 순서를 보존하며 조건별로 나누기 2026.09.21
1040 std::partition() :: 조건을 만족하는 원소를 앞으로 모으기 2026.09.20
1039 std::nth_element() :: n번째 순서 통계량을 제자리에서 찾기 2026.09.20
1038 std::partial_sort() :: 앞의 일부 원소만 정렬하기 2026.09.20
1037 std::is_sorted_until() :: 정렬이 처음 깨지는 위치 찾기 2026.09.19
1036 std::is_sorted() :: 범위가 이미 정렬됐는지 확인하기 2026.09.19
1035 std::equal_range() :: 정렬 범위에서 같은 값의 반열린 구간 얻기 2026.09.19
1034 std::binary_search() :: 정렬 범위에 값이 있는지 확인하기 2026.09.19
1033 std::upper_bound() :: 정렬 범위에서 값보다 큰 첫 위치 찾기 2026.09.19
1032 std::lower_bound() :: 정렬 범위에서 값 이상인 첫 위치 찾기 2026.09.18
1031 std::unique() :: 인접 중복을 한 개씩만 남기기 2026.09.18
1030 std::remove_if() :: 조건에 맞는 원소를 논리적으로 제거하기 2026.09.18
1029 std::remove() :: 남길 원소를 앞으로 모아 새 끝 얻기 2026.09.18
1028 std::replace_if() :: 조건에 맞는 원소 값을 바꾸기 2026.09.18
1027 std::replace() :: 특정 값을 새 값으로 바꾸기 2026.09.17
1026 std::minmax_element() :: 최솟값과 최댓값의 위치 함께 얻기 2026.09.17
1025 std::max_element() :: 가장 큰 원소의 반복자 얻기 2026.09.17
1024 std::min_element() :: 가장 작은 원소의 반복자 얻기 2026.09.17
1023 std::none_of() :: 조건을 만족하는 원소가 없는지 확인하기 2026.09.17
1022 std::any_of() :: 조건을 만족하는 원소가 하나라도 있는지 확인하기 2026.09.16
1021 std::all_of() :: 모든 원소가 조건을 만족하는지 확인하기 2026.09.16
1020 std::find_if_not() :: 조건을 만족하지 않는 첫 원소 찾기 2026.09.16
1019 std::find_if() :: 조건에 맞는 첫 원소 찾기 2026.09.16
1018 std::find() :: 값과 같은 첫 원소 찾기 2026.09.16
1017 std::count_if() :: 조건을 만족하는 원소 수 세기 2026.09.15
1016 std::count() :: 지정한 값의 등장 횟수 세기 2026.09.15
1015 std::accumulate() :: 초깃값부터 원소 누적하기 2026.09.15
1014 std::iota() :: 연속해서 증가하는 값 채우기 2026.09.15
1013 std::fill_n() :: 시작점에서 n개 원소 채우기 2026.09.15
1012 std::fill() :: 범위의 모든 원소를 같은 값으로 채우기 2026.09.14
1011 std::rotate() :: 지정한 원소가 앞으로 오도록 회전하기 2026.09.14
1010 std::reverse() :: 반복자 범위의 순서 뒤집기 2026.09.14
1009 std::stable_sort() :: 같은 키의 순서를 보존하며 정렬하기 2026.09.14
1008 std::sort() :: 범위 오름차순 정렬하기 2026.09.14
1007 std::unordered_map::swap() :: 두 컨테이너 내용 맞바꾸기 2026.09.13
1006 std::unordered_map::at() :: 범위 검사와 함께 원소 읽기 2026.09.13
1005 std::unordered_map::rehash() :: 해시 버킷 수 재조정하기 2026.09.13
1004 std::unordered_map::reserve() :: 예상 크기만큼 용량 미리 확보하기 2026.09.13
1003 std::unordered_map::max_load_factor() :: 재해시 기준 부하율 지정하기 2026.09.13
1002 std::unordered_map::load_factor() :: 버킷당 평균 원소 수 조회하기 2026.09.12
1001 std::unordered_map::bucket_count() :: 해시 버킷 개수 조회하기 2026.09.12
1000 std::unordered_map::count() :: 같은 키를 가진 원소 수 세기 2026.09.11
999 std::unordered_map::find() :: 키에 해당하는 반복자 찾기 2026.09.11
998 std::unordered_map::clear() :: 모든 원소 제거하기 2026.09.08
997 std::unordered_map::erase() :: 지정한 원소 제거하기 2026.09.08
996 std::unordered_map::insert() :: 새 원소 삽입하기 2026.09.08
995 std::unordered_map::end() :: 마지막 다음 위치의 반복자 얻기 2026.09.08
994 std::unordered_map::begin() :: 첫 원소의 반복자 얻기 2026.09.08
993 std::unordered_map::empty() :: 비어 있는지 확인하기 2026.09.07
992 std::unordered_map::size() :: 원소 개수 확인하기 2026.09.07
991 std::map::swap() :: 두 컨테이너 내용 맞바꾸기 2026.09.07
990 std::map::at() :: 범위 검사와 함께 원소 읽기 2026.09.07
989 std::map::equal_range() :: 키와 동등한 범위 얻기 2026.09.07
988 std::map::upper_bound() :: 키보다 큰 첫 위치 찾기 2026.09.06
987 std::map::lower_bound() :: 키 이상인 첫 위치 찾기 2026.09.06
986 std::map::count() :: 같은 키를 가진 원소 수 세기 2026.09.06
985 std::map::find() :: 키에 해당하는 반복자 찾기 2026.09.06
984 std::map::clear() :: 모든 원소 제거하기 2026.09.06
983 std::map::erase() :: 지정한 원소 제거하기 2026.09.05
982 std::map::insert() :: 새 원소 삽입하기 2026.09.05
981 std::map::end() :: 마지막 다음 위치의 반복자 얻기 2026.09.05
980 std::map::begin() :: 첫 원소의 반복자 얻기 2026.09.05
979 std::map::empty() :: 비어 있는지 확인하기 2026.09.05
978 std::map::size() :: 원소 개수 확인하기 2026.09.04
977 std::unordered_multiset::swap() :: 두 컨테이너 내용 맞바꾸기 2026.09.04
976 std::unordered_multiset::rehash() :: 해시 버킷 수 재조정하기 2026.09.04
975 std::unordered_multiset::reserve() :: 예상 크기만큼 용량 미리 확보하기 2026.09.04
974 std::unordered_multiset::max_load_factor() :: 재해시 기준 부하율 지정하기 2026.09.03
973 std::unordered_multiset::load_factor() :: 버킷당 평균 원소 수 조회하기 2026.09.03
972 std::unordered_multiset::bucket_count() :: 해시 버킷 개수 조회하기 2026.09.03
971 std::unordered_multiset::count() :: 같은 키를 가진 원소 수 세기 2026.09.03
970 std::unordered_multiset::find() :: 키에 해당하는 반복자 찾기 2026.09.03
969 std::unordered_multiset::clear() :: 모든 원소 제거하기 2026.09.02
968 std::unordered_multiset::erase() :: 지정한 원소 제거하기 2026.09.02
967 QSignalBlocker :: 값을 바꾸면서 시그널 잠시 막기 2026.09.02
966 QPointer :: 삭제된 QObject를 감지하는 포인터 2026.09.02
965 std::unordered_multiset::insert() :: 새 원소 삽입하기 2026.09.02
964 std::unordered_multiset::end() :: 마지막 다음 위치의 반복자 얻기 2026.09.01
963 std::unordered_multiset::begin() :: 첫 원소의 반복자 얻기 2026.09.01
962 std::unordered_multiset::empty() :: 비어 있는지 확인하기 2026.09.01
961 std::unordered_multiset::size() :: 원소 개수 확인하기 2026.09.01
960 std::unordered_set::swap() :: 두 컨테이너 내용 맞바꾸기 2026.09.01
959 std::unordered_set::rehash() :: 해시 버킷 수 재조정하기 2026.08.31
958 std::unordered_set::reserve() :: 예상 크기만큼 용량 미리 확보하기 2026.08.31
957 std::unordered_set::max_load_factor() :: 재해시 기준 부하율 지정하기 2026.08.31
956 std::unordered_set::load_factor() :: 버킷당 평균 원소 수 조회하기 2026.08.31
955 std::unordered_set::bucket_count() :: 해시 버킷 개수 조회하기 2026.08.31
954 std::unordered_set::count() :: 같은 키를 가진 원소 수 세기 2026.08.30
953 std::unordered_set::find() :: 키에 해당하는 반복자 찾기 2026.08.30
952 std::unordered_set::clear() :: 모든 원소 제거하기 2026.08.30
951 std::unordered_set::erase() :: 지정한 원소 제거하기 2026.08.30
950 std::unordered_set::insert() :: 새 원소 삽입하기 2026.08.29
949 std::unordered_set::end() :: 마지막 다음 위치의 반복자 얻기 2026.08.29
948 std::unordered_set::begin() :: 첫 원소의 반복자 얻기 2026.08.29
947 std::unordered_set::empty() :: 비어 있는지 확인하기 2026.08.29
946 std::unordered_set::size() :: 원소 개수 확인하기 2026.08.29
945 std::multiset::swap() :: 두 컨테이너 내용 맞바꾸기 2026.08.28
944 std::multiset::equal_range() :: 키와 동등한 범위 얻기 2026.08.28
943 std::multiset::upper_bound() :: 키보다 큰 첫 위치 찾기 2026.08.28
942 std::multiset::lower_bound() :: 키 이상인 첫 위치 찾기 2026.08.28
941 std::multiset::count() :: 같은 키를 가진 원소 수 세기 2026.08.28
940 std::multiset::find() :: 키에 해당하는 반복자 찾기 2026.08.27
939 std::multiset::clear() :: 모든 원소 제거하기 2026.08.27
938 std::multiset::erase() :: 지정한 원소 제거하기 2026.08.27
937 std::multiset::insert() :: 새 원소 삽입하기 2026.08.27
936 std::multiset::end() :: 마지막 다음 위치의 반복자 얻기 2026.08.27
935 std::multiset::begin() :: 첫 원소의 반복자 얻기 2026.08.26
934 std::multiset::empty() :: 비어 있는지 확인하기 2026.08.26
933 std::multiset::size() :: 원소 개수 확인하기 2026.08.26
932 std::set::swap() :: 두 컨테이너 내용 맞바꾸기 2026.08.26
931 std::set::equal_range() :: 키와 동등한 범위 얻기 2026.08.26
930 std::set::upper_bound() :: 키보다 큰 첫 위치 찾기 2026.08.25
929 std::set::lower_bound() :: 키 이상인 첫 위치 찾기 2026.08.25
928 std::set::count() :: 같은 키를 가진 원소 수 세기 2026.08.25
927 std::set::find() :: 키에 해당하는 반복자 찾기 2026.08.25
926 std::set::clear() :: 모든 원소 제거하기 2026.08.25
925 std::set::erase() :: 지정한 원소 제거하기 2026.08.24
924 std::set::insert() :: 새 원소 삽입하기 2026.08.23
923 std::set::end() :: 마지막 다음 위치의 반복자 얻기 2026.08.23
922 std::set::begin() :: 첫 원소의 반복자 얻기 2026.08.23
921 std::set::empty() :: 비어 있는지 확인하기 2026.08.23
920 std::set::size() :: 원소 개수 확인하기 2026.08.23
919 std::forward_list::swap() :: 두 컨테이너 내용 맞바꾸기 2026.08.22
918 std::forward_list::erase_after() :: 이전 반복자 다음 원소 삭제하기 2026.08.22
917 std::forward_list::insert_after() :: 이전 반복자 다음에 원소 삽입하기 2026.08.22
916 std::forward_list::remove() :: 같은 값을 가진 모든 노드 제거하기 2026.08.22
915 std::forward_list::unique() :: 연속으로 같은 원소 제거하기 2026.08.22
914 std::forward_list::sort() :: 연결 리스트 정렬하기 2026.08.21
913 std::forward_list::reverse() :: 연결 리스트 원소 순서 뒤집기 2026.08.21
912 std::forward_list::assign() :: 새 범위로 기존 원소 교체하기 2026.08.21
911 std::forward_list::clear() :: 모든 원소 제거하기 2026.08.21
910 std::forward_list::pop_front() :: 첫 원소 제거하기 2026.08.21
909 std::forward_list::push_front() :: 맨 앞에 원소 추가하기 2026.08.20
908 std::forward_list::front() :: 첫 번째 원소 읽기 2026.08.20
907 std::forward_list::end() :: 마지막 다음 위치의 반복자 얻기 2026.08.20
906 std::forward_list::begin() :: 첫 원소의 반복자 얻기 2026.08.20
905 std::forward_list::empty() :: 비어 있는지 확인하기 2026.08.20
904 std::list::swap() :: 두 컨테이너 내용 맞바꾸기 2026.08.17
903 std::list::remove() :: 같은 값을 가진 모든 노드 제거하기 2026.08.17
902 std::list::unique() :: 연속으로 같은 원소 제거하기 2026.08.17
901 std::list::sort() :: 연결 리스트 정렬하기 2026.08.17
900 std::list::reverse() :: 연결 리스트 원소 순서 뒤집기 2026.08.16
899 std::list::resize() :: 원소 수 늘리거나 줄이기 2026.08.16
898 std::list::assign() :: 새 범위로 기존 원소 교체하기 2026.08.16
897 std::list::clear() :: 모든 원소 제거하기 2026.08.16
896 std::list::erase() :: 지정한 원소 제거하기 2026.08.16
895 std::list::insert() :: 새 원소 삽입하기 2026.08.15
894 std::list::pop_front() :: 첫 원소 제거하기 2026.08.15
893 std::list::push_front() :: 맨 앞에 원소 추가하기 2026.08.15
892 std::list::pop_back() :: 마지막 원소 제거하기 2026.08.15
891 std::list::push_back() :: 맨 뒤에 원소 추가하기 2026.08.15
890 std::list::back() :: 마지막 원소 읽기 2026.08.14
889 std::list::front() :: 첫 번째 원소 읽기 2026.08.14
888 std::list::end() :: 마지막 다음 위치의 반복자 얻기 2026.08.14
887 std::list::begin() :: 첫 원소의 반복자 얻기 2026.08.14
886 std::list::empty() :: 비어 있는지 확인하기 2026.08.14
885 std::list::size() :: 원소 개수 확인하기 2026.08.13
884 std::deque::swap() :: 두 컨테이너 내용 맞바꾸기 2026.08.13
883 std::deque::resize() :: 원소 수 늘리거나 줄이기 2026.08.13
882 std::deque::assign() :: 새 범위로 기존 원소 교체하기 2026.08.13
881 std::deque::clear() :: 모든 원소 제거하기 2026.08.13
880 std::deque::erase() :: 지정한 원소 제거하기 2026.08.12
879 std::deque::insert() :: 새 원소 삽입하기 2026.08.12
878 std::deque::pop_front() :: 첫 원소 제거하기 2026.08.12
877 QObject::deleteLater() :: 이벤트 처리 뒤에 객체 정리하기 2026.08.12
876 std::deque::push_front() :: 맨 앞에 원소 추가하기 2026.08.11
875 QObject::setParent() :: 부모가 자식 객체를 정리하는 구조 2026.08.11
874 std::deque::pop_back() :: 마지막 원소 제거하기 2026.08.11
873 std::deque::push_back() :: 맨 뒤에 원소 추가하기 2026.08.11
872 std::deque::at() :: 범위 검사와 함께 원소 읽기 2026.08.11
871 std::deque::back() :: 마지막 원소 읽기 2026.08.10
870 std::deque::front() :: 첫 번째 원소 읽기 2026.08.10
869 std::deque::end() :: 마지막 다음 위치의 반복자 얻기 2026.08.10
868 std::deque::begin() :: 첫 원소의 반복자 얻기 2026.08.09
867 std::deque::empty() :: 비어 있는지 확인하기 2026.08.09
866 std::deque::size() :: 원소 개수 확인하기 2026.08.09
865 std::vector::swap() :: 두 컨테이너 내용 맞바꾸기 2026.08.09
864 std::vector::shrink_to_fit() :: 남는 저장 용량 축소 요청하기 2026.08.09
863 std::vector::assign() :: 새 범위로 기존 원소 교체하기 2026.08.08
862 std::vector::clear() :: 모든 원소 제거하기 2026.08.08
861 std::vector::erase() :: 지정한 원소 제거하기 2026.08.08
860 std::vector::insert() :: 새 원소 삽입하기 2026.08.08
859 std::vector::pop_back() :: 마지막 원소 제거하기 2026.08.08
858 std::vector::push_back() :: 맨 뒤에 원소 추가하기 2026.08.07
857 std::vector::resize() :: 원소 수 늘리거나 줄이기 2026.08.07
856 std::vector::reserve() :: 예상 크기만큼 용량 미리 확보하기 2026.08.07
855 std::vector::capacity() :: 확보한 저장 용량 확인하기 2026.08.07
854 std::vector::data() :: 연속 버퍼의 시작 주소 얻기 2026.08.07
853 std::vector::at() :: 범위 검사와 함께 원소 읽기 2026.08.06
852 std::vector::back() :: 마지막 원소 읽기 2026.08.06
851 std::vector::front() :: 첫 번째 원소 읽기 2026.08.06
850 std::vector::end() :: 마지막 다음 위치의 반복자 얻기 2026.08.06
849 QObject::connect() :: 버튼 신호를 함수에 연결하기 2026.08.06
848 std::vector::begin() :: 첫 원소의 반복자 얻기 2026.08.05
847 std::vector::empty() :: 비어 있는지 확인하기 2026.08.05
846 QApplication::exec() :: 첫 창과 이벤트 루프 만들기 2026.08.05
845 std::vector::size() :: 원소 개수 확인하기 2026.08.05
844 truncf() :: 0 방향 정수 절삭 계산하기 (float) 2026.08.05
843 tanf() :: 탄젠트 계산하기 (float) 2026.08.04
842 sqrtf() :: 제곱근 계산하기 (float) 2026.08.04
841 sinf() :: 사인 계산하기 (float) 2026.08.04
840 roundf() :: 중간값을 0에서 멀어지게 반올림 계산하기 (float) 2026.08.04
839 powf() :: 실수 거듭제곱 계산하기 (float) 2026.08.04
838 logf() :: 자연로그 계산하기 (float) 2026.08.03
837 hypotf() :: 오버플로를 줄인 직각삼각형 빗변 계산하기 (float) 2026.08.03
836 fminf() :: NaN 규칙을 적용한 실수 최솟값 계산하기 (float) 2026.08.03
835 fmaxf() :: NaN 규칙을 적용한 실수 최댓값 계산하기 (float) 2026.08.03
834 floorf() :: 음의 무한대 방향 정수 내림 계산하기 (float) 2026.08.03
833 fabsf() :: 부동소수점 절댓값 계산하기 (float) 2026.08.02
832 expf() :: 자연 지수 계산하기 (float) 2026.08.02
831 cosf() :: 코사인 계산하기 (float) 2026.08.02
830 ceilf() :: 양의 무한대 방향 정수 올림 계산하기 (float) 2026.08.02
829 trunc() :: 0 방향 정수 절삭 계산하기 (double) 2026.08.02
828 NvBuffer::fill_buffer_plane_format() :: 원본 형식에서 plane 정보 만들기 2026.07.31
827 NvBuffer::map() :: MMAP NvBuffer 주소 매핑 2026.07.31
826 NvBuffer::allocateMemory() :: USERPTR 소프트웨어 버퍼 할당 2026.07.29
825 NvJPEGDecoder::decodeToBuffer() :: JPEG 결과를 CPU용 NvBuffer로 받기 2026.07.29
824 NvJPEGDecoder::decodeToFd() :: JPEG 결과를 하드웨어 버퍼로 받기 2026.07.29
823 NvJPEGDecoder::createJPEGDecoder() :: JPEG 디코더 생성 검사 2026.07.28
822 NvJPEGEncoder::setScaledEncodeParams() :: JPEG 출력 크기 지정하기 2026.07.28
821 NvJPEGEncoder::setCropRect() :: 매 프레임 JPEG crop 설정하기 2026.07.28
820 NvJPEGEncoder::encodeFromFd() :: DMABUF 프레임을 JPEG로 압축 2026.07.28
819 NvJPEGEncoder::createJPEGEncoder() :: JPEG 인코더 객체 준비 2026.07.28
818 NvBufSurfTransformSyncObjDestroy() :: 완료된 작업 핸들 정리 2026.07.27
817 NvBufSurfTransformSyncObjWait() :: 비동기 결과 사용 전에 대기 2026.07.27
816 NvBufSurfTransformAsync() :: 변환 제출과 완료 분리하기 2026.07.23
815 transform_flip :: 90도 회전 요청하기 2026.07.23
814 transform_filter :: 보간 방식과 플래그 함께 지정 2026.07.23
813 dst_rect :: 목적지의 일부 위치에 넣기 2026.07.21
812 src_rect :: 원본에서 잘라 쓸 영역 정하기 2026.07.19
811 NvBufSurfTransform() :: 전체 프레임 크기 바꾸기 2026.07.17
810 NvBufSurfTransformGetSessionParams() :: 현재 변환 설정 조회 2026.07.16
809 NvBufSurfTransformSetSessionParams() :: VIC 변환 세션 선택하기 2026.07.15
808 bufferDesc :: surface의 DMABUF 번호 확인하기 2026.07.15
807 numFilled :: 배치 용량과 유효 프레임 수 2026.07.15
806 NvBufSurfacePlaneParams :: plane별 크기와 오프셋 2026.07.13
805 pitch :: 영상의 가로 길이와 행 간격 구분하기 2026.07.13
804 NvBufSurfaceUnMapEglImage() :: EGLImage 자원 정리하기 2026.07.13
803 NvBufSurfaceMapEglImage() :: surface를 EGLImage로 연결하기 2026.07.13
802 Raw2NvBufSurface() :: 원시 plane 데이터를 surface에 넣기 2026.07.11
801 NvBufSurface2Raw() :: 한 plane을 CPU 버퍼로 복사 2026.07.11
800 NvBufSurfaceMemSet() :: plane을 바이트 값으로 채우기 2026.07.10
799 NvBufSurfaceCopy() :: 같은 크기 surface 내용 복사 2026.07.10
798 NvBufSurfaceFromFd() :: DMABUF FD에서 surface 찾기 2026.07.09
797 NvBufSurfaceSyncForDevice() :: CPU 수정 내용을 장치에 넘기기 2026.07.09
796 NvBufSurfaceSyncForCpu() :: 장치가 쓴 값을 CPU로 읽기 2026.07.08
795 NvBufSurfaceUnMap() :: 매핑 주소 사용 끝내기 2026.07.08
794 NvBufSurfaceMap() :: CPU에서 읽을 주소 얻기 2026.07.06
793 NvBufSurfaceDestroy() :: 소유한 surface 해제하기 2026.07.06
792 NvBufSurfaceAllocate() :: 확장 할당 정보 사용하기 2026.07.06
791 NvBufSurfaceCreate() :: NV12 surface 한 장 할당하기 2026.07.05
790 NvV4l2ElementPlane::getNumQueuedBuffers() :: 현재 장치에 맡긴 버퍼 개수 보기 2026.07.04
789 NvV4l2ElementPlane::getBufType() :: output과 capture의 버퍼 타입 읽기 2026.07.04
788 NvV4l2ElementPlane::deinitPlane() :: 버퍼 매핑과 슬롯 정리하기 2026.06.30
787 NvV4l2ElementPlane::waitAllBuffersDequeued() :: 큐에 남은 버퍼 회수 대기 2026.06.29
786 NvV4l2ElementPlane::waitAllBuffersQueued() :: 모든 버퍼 큐잉을 기다리는 조건 2026.06.29
785 NvV4l2ElementPlane::stopDQThread() :: 비차단 모드 DQ 스레드 중단 2026.06.28
784 NvV4l2ElementPlane::waitForDQThread() :: DQ 스레드 종료를 기다리기 2026.06.28
783 NvV4l2ElementPlane::startDQThread() :: 버퍼 회수 스레드 시작하기 2026.06.28
782 NvV4l2ElementPlane::setDQThreadCallback() :: 결과 회수 콜백 등록하기 2026.06.26
781 NvV4l2ElementPlane::dqBuffer() :: 장치에서 버퍼 소유권 회수하기 2026.06.26
780 NvV4l2ElementPlane::qBuffer() :: 채운 input 버퍼를 장치에 넘기기 2026.06.26
779 NvV4l2ElementPlane::getStreamStatus() :: 현재 plane 스트림 상태 읽기 2026.06.25
778 NvV4l2ElementPlane::setStreamStatus() :: plane 스트리밍 시작과 중단 2026.06.25
777 NvV4l2ElementPlane::getCrop() :: 보이는 영역과 할당 크기 구분하기 2026.06.25
776 NvV4l2ElementPlane::getFormat() :: 드라이버가 정한 형식 다시 읽기 2026.06.24
775 NvV4l2ElementPlane::getNumPlanes() :: 한 버퍼의 메모리 plane 수 2026.06.24
774 NvV4l2ElementPlane::getNumBuffers() :: 실제 준비된 버퍼 수 확인하기 2026.06.23
773 NvV4l2ElementPlane::getNthBuffer() :: 슬롯에 연결된 NvBuffer 가져오기 2026.06.23
772 NvV4l2ElementPlane::exportBuffer() :: MMAP 버퍼를 DMABUF로 내보내기 2026.06.23
771 NvV4l2ElementPlane::queryBuffer() :: 요청한 버퍼의 정보 조회하기 2026.06.20
770 NvV4l2ElementPlane::reqbufs() :: plane 버퍼를 직접 요청하기 2026.06.19
769 NvV4l2ElementPlane::setupPlane() :: 버퍼 준비를 한 번에 처리하기 2026.06.17
768 NvVideoDecoder::disableDPB() :: 재정렬 버퍼를 끄기 전 확인할 조건 2026.06.15
767 NvVideoDecoder::isInError() :: 내부 오류 상태 확인하기 2026.06.12
766 NvV4l2Element::abort() :: 오류 시 양쪽 plane 즉시 중단 2026.06.11
765 NvV4l2Element::dqEvent() :: 이벤트 대기와 시간 제한 2026.06.11
764 NvV4l2Element::subscribeEvent() :: 해상도 변경 이벤트 구독하기 2026.06.09
763 NvVideoDecoder::getMetadata() :: capture 버퍼의 디코딩 상태 조회 2026.06.05
762 NvVideoDecoder::enableMetadataReporting() :: 디코딩 오류 정보 보고 켜기 2026.06.04
761 NvVideoDecoder::setMaxPerfMode() :: 디코더 성능 지향 모드 요청 2026.06.04
760 NvVideoDecoder::setSkipFrames() :: 프레임 건너뛰기 정책 정하기 2026.06.03
759 NvVideoDecoder::setFrameInputMode() :: 불완전 프레임 입력 모드 지정하기 2026.06.02
758 NvVideoDecoder::getSAR() :: 픽셀 종횡비 읽기 2026.06.02
757 NvVideoDecoder::getMinimumCapturePlaneBuffers() :: 필수 capture 버퍼 수 확인하기 2026.06.02
756 NvVideoDecoder::setCapturePlaneFormat() :: 해상도 이벤트 뒤 출력 픽셀 형식 2026.05.31
755 NvVideoDecoder::setOutputPlaneFormat() :: 압축 입력 코덱과 버퍼 크기 2026.05.31
754 NvVideoDecoder::createVideoDecoder() :: 디코더 객체의 생성과 실패 검사 2026.05.30
753 NvVideoEncoder::getMotionVectors() :: 회수한 프레임의 모션 벡터 조회 2026.05.30
752 NvVideoEncoder::enableMotionVectorReporting() :: 모션 벡터 메타데이터 활성화 2026.05.29
751 NvVideoEncoder::setVirtualBufferSize() :: 레이트 제어의 가상 버퍼 크기 2026.05.29
750 NvVideoEncoder::setSliceLength() :: 슬라이스 길이의 단위 고르기 2026.05.28
749 NvVideoEncoder::setQpRange() :: 프레임 종류별 QP 범위 정하기 2026.05.26
748 NvVideoEncoder::setInsertVuiEnabled() :: 영상 표시 정보 삽입 요청하기 2026.05.26
747 NvVideoEncoder::setInsertAudEnabled() :: 접근 단위 구분자 삽입하기 2026.05.26
746 NvVideoEncoder::setCABAC() :: H.264 엔트로피 부호화 선택하기 2026.05.25
745 NvVideoEncoder::setInsertSpsPpsAtIdrEnabled() :: IDR에 SPS와 PPS 넣기 2026.05.24
744 NvVideoEncoder::setNumReferenceFrames() :: 참조 프레임 수 제한하기 2026.05.24
743 NvVideoEncoder::setNumBFrames() :: B 프레임 수와 지연의 관계 2026.05.23
742 NvVideoEncoder::setMaxPerfMode() :: 인코더 최대 성능 모드 요청하기 2026.05.23
741 NvVideoEncoder::setHWPresetType() :: 하드웨어 품질과 속도 절충 선택하기 2026.05.23
740 NvVideoEncoder::forceIDR() :: 다음 입력에 IDR 요청하기 2026.05.20
739 NvVideoEncoder::setIDRInterval() :: 복호 참조를 끊는 프레임 주기 2026.05.20
738 NvVideoEncoder::setIFrameInterval() :: I 프레임 간격 정하기 2026.05.19
737 NvVideoEncoder::setRateControlMode() :: CBR과 VBR 제어 모드 선택하기 2026.05.18
736 NvVideoEncoder::setLevel() :: 해상도와 전송량에 맞는 레벨 고르기 2026.05.16
735 NvVideoEncoder::setProfile() :: H.264 프로파일 선택하기 2026.05.15
734 NvVideoEncoder::setPeakBitrate() :: VBR 최대 비트레이트 설정하기 2026.05.11
733 NvVideoEncoder::setBitrate() :: 목표 비트레이트 단위 맞추기 2026.05.11
732 NvVideoEncoder::setFrameRate() :: 초당 프레임 수를 분수로 지정하기 2026.05.10
731 NvVideoEncoder::setOutputPlaneFormat() :: 원본 픽셀 형식 정하기 2026.05.09
730 NvVideoEncoder::setCapturePlaneFormat() :: 압축 출력 형식 정하기 2026.05.06
729 NvVideoEncoder::createVideoEncoder() :: 인코더 객체 만들기 2026.05.05
728 isalnum() :: 영문자 또는 숫자인지 판별하기 2026.04.30
727 strsignal() :: 시그널 번호를 설명 문자열로 변환하기 2026.04.30
726 strerror_r() :: 호출자 버퍼로 오류 설명 문자열 받기 2026.04.30
725 strerror() :: 오류 번호를 설명 문자열로 변환하기 2026.04.30
724 strverscmp() :: 문자열 속 숫자를 버전처럼 비교하기 2026.04.30
723 strxfrm() :: 로케일 비교에 사용할 정렬 키 만들기 2026.04.29
722 strcoll() :: 현재 로케일 규칙으로 문자열 비교하기 2026.04.29
721 strsep() :: 빈 필드까지 유지하며 문자열 나누기 2026.04.29
720 strtok() :: 구분자로 문자열을 나누고 내부 상태 유지하기 2026.04.29
719 strcspn() :: 금지 문자를 만나기 전까지의 길이 구하기 2026.04.28
718 strspn() :: 허용 문자 집합으로 이루어진 접두 길이 구하기 2026.04.28
717 strpbrk() :: 지정한 문자 집합 중 처음 만나는 문자 찾기 2026.04.28
716 strcasestr() :: 대소문자를 무시하고 부분 문자열 찾기 2026.04.28
715 strstr() :: 문자열 안에서 부분 문자열 찾기 2026.04.28
714 strchrnul() :: 문자 또는 문자열 끝 위치 찾기 2026.04.27
713 strrchr() :: 문자열에서 문자의 마지막 위치 찾기 2026.04.27
712 strchr() :: 문자열에서 문자의 첫 위치 찾기 2026.04.27
711 strncasecmp() :: 길이를 제한해 대소문자 없이 문자열 비교하기 2026.04.27
710 strcasecmp() :: 대소문자를 무시하고 문자열 비교하기 2026.04.26
709 strncmp() :: 지정한 길이 안에서 문자열 비교하기 2026.04.26
708 strcmp() :: 두 문자열의 사전식 순서 비교하기 2026.04.26
707 strncat() :: 제한된 바이트 수로 문자열 이어 붙이기 2026.04.26
706 strcat() :: 문자열 뒤에 다른 문자열 이어 붙이기 2026.04.26
705 strndup() :: 최대 길이까지만 문자열 복제하기 2026.04.25
704 strdup() :: 문자열을 복제해 새 메모리에 저장하기 2026.04.25
703 stpncpy() :: 길이 제한 복사 뒤 끝 위치 얻기 2026.04.25
702 std::optional :: 값이 없을 수도 있다는 표현 2026.04.25
701 stpcpy() :: 문자열을 복사하고 끝 주소 돌려받기 2026.04.24
700 strncpy() :: 정해진 길이로 문자열 복사하고 빈 공간 채우기 2026.04.24
699 strcpy() :: 널 종료 문자열 복사하기 2026.04.24
698 strnlen() :: 최대 범위 안에서 문자열 길이 구하기 2026.04.24
697 strlen() :: 널 종료 문자열의 바이트 길이 구하기 2026.04.24
696 getpagesize() :: 시스템 메모리 페이지 크기 얻기 2026.04.23
695 memfd_create() :: 익명 메모리 파일 디스크립터 만들기 2026.04.23
694 mincore() :: 매핑된 페이지의 메모리 상주 여부 확인하기 2026.04.23
693 munlockall() :: 프로세스의 전체 메모리 잠금 해제하기 2026.04.23
692 mlockall() :: 프로세스 주소 공간의 페이지 잠그기 2026.04.22
691 munlock() :: 메모리 페이지의 스왑 방지 잠금 해제하기 2026.04.22
690 mlock2() :: 옵션을 지정해 메모리 페이지 잠그기 2026.04.22
689 mlock() :: 메모리 페이지가 스왑되지 않도록 잠그기 2026.04.22
688 posix_madvise() :: 이식 가능한 메모리 접근 조언 전달하기 2026.04.22
687 madvise() :: 메모리 접근 패턴을 커널에 알려주기 2026.04.18
686 mprotect() :: 메모리 페이지의 접근 권한 변경하기 2026.04.18
685 msync() :: 파일 매핑의 변경을 저장 장치와 동기화하기 2026.04.18
684 mremap() :: 기존 메모리 매핑 크기와 위치 바꾸기 2026.04.17
683 munmap() :: 메모리 매핑 해제하기 2026.04.17
682 mmap() :: 파일이나 익명 메모리를 주소 공간에 매핑하기 2026.04.17
681 explicit_bzero() :: 최적화로 지워지지 않는 메모리 초기화하기 2026.04.17
680 memccpy() :: 특정 바이트까지 메모리 복사하기 2026.04.17
679 memmem() :: 메모리 범위 안에서 다른 바이트열 찾기 2026.04.16
678 memrchr() :: 메모리 범위의 뒤에서 특정 바이트 찾기 2026.04.16
677 memchr() :: 메모리 범위에서 특정 바이트 찾기 2026.04.16
676 memcmp() :: 두 메모리 영역을 바이트 단위로 비교하기 2026.04.16
675 memset() :: 메모리 영역을 같은 바이트로 채우기 2026.04.15
674 memmove() :: 겹칠 수 있는 메모리 영역 안전하게 복사하기 2026.04.15
673 람다 표현식 :: 이름 없는 함수를 바로 만들기 2026.04.15
672 memcpy() :: 겹치지 않는 메모리 영역 복사하기 2026.04.15
671 malloc_info() :: 할당기의 상태를 XML로 출력하기 2026.04.15
670 malloc_trim() :: 힙의 사용하지 않는 페이지를 운영체제에 반환하기 2026.04.14
669 malloc_usable_size() :: 할당 블록이 실제 사용할 수 있는 크기 조회하기 2026.04.14
668 posix_memalign() :: POSIX 방식으로 정렬된 메모리 할당하기 2026.04.14
667 aligned_alloc() :: 지정한 정렬 경계에 맞춰 메모리 할당하기 2026.04.14
666 reallocarray() :: 원소 수와 크기를 분리해 배열 메모리 재할당하기 2026.04.14
665 realloc() :: 기존 동적 메모리 블록 크기 바꾸기 2026.04.13
664 calloc() :: 0으로 초기화된 원소 배열 할당하기 2026.04.13
663 signalfd() :: 시그널을 파일 디스크립터로 받기 2026.04.13
662 fanotify_mark() :: 파일 시스템 이벤트 감시 범위 지정하기 2026.04.12
661 fanotify_init() :: 파일 시스템 이벤트 통지 그룹 만들기 2026.04.12
660 inotify_rm_watch() :: 파일 변경 감시 항목 제거하기 2026.04.12
659 inotify_add_watch() :: 파일이나 디렉터리에 감시 항목 추가하기 2026.04.12
658 inotify_init1() :: 파일 변경 감시 인스턴스 만들기 2026.04.12
657 timerfd_gettime() :: timerfd의 남은 시간과 반복 주기 조회하기 2026.04.11
656 timerfd_settime() :: timerfd의 시작 시간과 반복 주기 지정하기 2026.04.11
655 timerfd_create() :: 타이머 만료를 읽을 수 있는 디스크립터 만들기 2026.04.11
654 eventfd_write() :: eventfd 카운터에 값 더하기 2026.04.11
653 eventfd_read() :: eventfd 카운터 값 읽기 2026.04.11
652 eventfd() :: 정수 카운터 기반 이벤트 디스크립터 만들기 2026.04.10
651 epoll_pwait2() :: 나노초 제한 시간으로 epoll 이벤트 기다리기 2026.04.10
650 epoll_pwait() :: 시그널 마스크를 지정해 epoll 이벤트 기다리기 2026.04.10
649 epoll_wait() :: 준비된 epoll 이벤트 기다리기 2026.04.10
648 epoll_ctl() :: epoll 감시 대상 추가와 변경 및 제거하기 2026.04.09
647 std::move() :: 이동을 허용하는 캐스팅 2026.04.09
646 epoll_create1() :: 플래그를 지정해 epoll 인스턴스 만들기 2026.04.09
645 std::unique_ptr :: 소유자가 하나인 스마트 포인터 2026.04.09
644 pselect() :: 시그널 마스크를 원자적으로 바꾸고 디스크립터 기다리기 2026.04.09
643 ppoll() :: 시그널 마스크와 정밀한 제한 시간으로 이벤트 기다리기 2026.04.08
642 poll() :: 파일 디스크립터 배열의 준비 상태 기다리기 2026.04.08
641 sethostname() :: 시스템 호스트 이름 바꾸기 2026.04.08
640 gethostname() :: 현재 시스템의 호스트 이름 얻기 2026.04.08
639 if_freenameindex() :: 인터페이스 이름 목록 해제하기 2026.04.07
638 if_nameindex() :: 인터페이스 이름과 인덱스 목록 얻기 2026.04.07
637 if_indextoname() :: 인터페이스 인덱스를 이름으로 변환하기 2026.04.07
636 if_nametoindex() :: 인터페이스 이름을 인덱스로 변환하기 2026.04.07
635 freeifaddrs() :: 인터페이스 주소 목록 해제하기 2026.04.07
634 getifaddrs() :: 네트워크 인터페이스 주소 목록 읽기 2026.04.05
633 getnameinfo() :: 소켓 주소를 호스트와 서비스 이름으로 바꾸기 2026.04.05
632 gai_strerror() :: 주소 조회 오류 코드를 문자열로 바꾸기 2026.04.05
631 freeaddrinfo() :: 주소 조회 결과 목록 해제하기 2026.04.05
630 getaddrinfo() :: 호스트 이름과 서비스에서 주소 목록 얻기 2026.04.05
629 ntohl() :: 32비트 네트워크 정수를 호스트 순서로 변환하기 2026.04.04
628 ntohs() :: 16비트 네트워크 정수를 호스트 순서로 변환하기 2026.04.04
627 htonl() :: 32비트 정수를 네트워크 바이트 순서로 변환하기 2026.04.04
626 htons() :: 16비트 정수를 네트워크 바이트 순서로 변환하기 2026.04.04
625 inet_ntop() :: 바이너리 IP 주소를 문자열로 변환하기 2026.04.04
624 inet_pton() :: 문자열 IP 주소를 바이너리 주소로 변환하기 2026.04.03
623 recvmmsg() :: 여러 메시지를 한 시스템 호출로 받기 2026.04.03
622 sendmmsg() :: 여러 메시지를 한 시스템 호출로 보내기 2026.04.03
621 emplace_back() :: vector 안에서 원소 바로 만들기 2026.04.03
620 std::vector :: 크기가 변하는 연속 배열 2026.04.03
619 recvmsg() :: 분산 버퍼와 제어 메시지로 데이터 받기 2026.04.02
618 sendmsg() :: 메시지 구조체와 부가 정보를 함께 보내기 2026.04.02
617 setsockopt() :: 소켓 옵션 설정하기 2026.04.02
616 getsockopt() :: 소켓 옵션 값 조회하기 2026.04.02
615 getpeername() :: 연결된 상대방 주소 얻기 2026.04.02
614 tgamma() :: 감마 함수 계산하기 (double) 2026.03.31
613 tanh() :: 쌍곡탄젠트 계산하기 (double) 2026.03.31
612 tan() :: 탄젠트 계산하기 (double) 2026.03.31
611 sqrt() :: 제곱근 계산하기 (double) 2026.03.31
610 집합체 초기화 :: 멤버를 순서대로 채우기 2026.03.31
609 sinh() :: 쌍곡사인 계산하기 (double) 2026.03.30
608 sin() :: 사인 계산하기 (double) 2026.03.30
607 scalbn() :: 기수의 정수 지수로 크기 조정 계산하기 (double) 2026.03.30
606 round() :: 중간값을 0에서 멀어지게 반올림 계산하기 (double) 2026.03.30
605 유연한 배열 멤버 :: 구조체 뒤에 가변 길이 붙이기 2026.03.30
604 getsockname() :: 소켓에 연결된 로컬 주소 얻기 2026.03.29
603 shutdown() :: 소켓의 읽기 또는 쓰기 방향 종료하기 2026.03.29
602 rint() :: 반올림 모드와 예외를 반영한 정수 반올림 계산하기 (double) 2026.03.29
601 connect() :: 소켓을 상대 주소에 연결하기 2026.03.29
600 accept4() :: 논블로킹 플래그와 함께 연결 받기 2026.03.29
599 accept() :: 대기 중인 연결을 받아 새 소켓 얻기 2026.03.28
598 listen() :: 연결 요청을 받을 수동 소켓으로 전환하기 2026.03.28
597 bind() :: 소켓에 로컬 주소와 포트 연결하기 2026.03.28
596 socketpair() :: 서로 연결된 소켓 두 개 만들기 2026.03.28
595 socket() :: 통신용 소켓 만들기 2026.03.28
594 remainder() :: 가장 가까운 몫을 기준으로 한 나머지 계산하기 (double) 2026.03.27
593 pow() :: 실수 거듭제곱 계산하기 (double) 2026.03.27
592 nextafter() :: 지정 방향의 다음 표현 가능 실수 계산하기 (double) 2026.03.27
591 std::bitset :: 고정 개수의 비트 상태 보관하기 2026.03.27
590 nearbyint() :: 현재 반올림 모드의 정수 반올림 계산하기 (double) 2026.03.27
589 lremovexattr() :: 심볼릭 링크 자체의 확장 속성 제거하기 2026.03.26
588 fremovexattr() :: 열린 파일의 확장 속성 제거하기 2026.03.26
587 modf() :: 정수 부분과 소수 부분 분리 계산하기 (double) 2026.03.26
586 removexattr() :: 파일의 확장 속성 제거하기 2026.03.26
585 llistxattr() :: 심볼릭 링크 자체의 확장 속성 목록 얻기 2026.03.26
584 flistxattr() :: 열린 파일의 확장 속성 이름 목록 얻기 2026.03.25
583 listxattr() :: 파일의 확장 속성 이름 목록 얻기 2026.03.25
582 lsetxattr() :: 심볼릭 링크 자체에 확장 속성 기록하기 2026.03.25
581 fsetxattr() :: 열린 파일에 확장 속성 기록하기 2026.03.25
580 setxattr() :: 파일에 확장 속성 기록하기 2026.03.25
579 lgetxattr() :: 심볼릭 링크 자체의 확장 속성 읽기 2026.03.24
578 fgetxattr() :: 열린 파일의 확장 속성 읽기 2026.03.24
577 logb() :: 부동소수점의 지수 계산하기 (double) 2026.03.24
576 getxattr() :: 파일의 확장 속성 값 읽기 2026.03.24
575 utimes() :: 마이크로초 단위로 파일 시간 변경하기 2026.03.24
574 futimens() :: 열린 파일의 접근 시간과 수정 시간 바꾸기 2026.03.23
573 utimensat() :: 경로의 접근 시간과 수정 시간 정밀하게 바꾸기 2026.03.23
572 umask() :: 새 파일의 기본 권한 마스크 설정하기 2026.03.23
571 fchownat() :: 기준 디렉터리와 플래그로 소유자 바꾸기 2026.03.23
570 lchown() :: 심볼릭 링크 자체의 소유자 바꾸기 2026.03.23
569 fchown() :: 열린 파일의 소유자와 그룹 바꾸기 2026.03.22
568 chown() :: 파일 소유자와 그룹 바꾸기 2026.03.22
567 fchmodat() :: 디렉터리 기준으로 파일 권한 바꾸기 2026.03.22
566 fchmod() :: 열린 파일의 권한 비트 변경하기 2026.03.22
565 log2() :: 밑이 2인 로그 계산하기 (double) 2026.03.22
564 배열 평균 :: 합계 자료형과 나눗셈 위치 2026.03.21
563 faccessat2() :: 플래그를 지원하는 접근 권한 확인하기 2026.03.21
562 log1p() :: 작은 입력에서도 정밀한 log(1+x) 계산하기 (double) 2026.03.21
561 log10() :: 상용로그 계산하기 (double) 2026.03.21
560 faccessat() :: 디렉터리 기준으로 접근 권한 확인하기 2026.03.20
559 access() :: 실제 사용자 기준으로 파일 접근 가능성 확인하기 2026.03.20
558 nftw() :: 디렉터리 트리를 순회하며 콜백 실행하기 2026.03.20
557 versionsort() :: 디렉터리 이름의 숫자를 버전처럼 비교하기 2026.03.20
556 alphasort() :: 디렉터리 항목을 이름 순으로 비교하기 2026.03.20
555 scandirat() :: 기준 디렉터리에서 항목을 수집하고 정렬하기 2026.03.19
554 scandir() :: 조건에 맞는 디렉터리 항목을 배열로 수집하기 2026.03.19
553 dirfd() :: 디렉터리 스트림의 디스크립터 얻기 2026.03.19
552 telldir() :: 디렉터리 스트림의 현재 위치 얻기 2026.03.19
551 strtok_r() :: 문자열을 안전하게 토큰으로 나누기 2026.03.19
550 seekdir() :: 디렉터리 스트림의 저장된 위치로 이동하기 2026.03.18
549 rewinddir() :: 디렉터리 스트림을 처음으로 되돌리기 2026.03.18
548 closedir() :: 디렉터리 스트림 닫기 2026.03.18
547 readdir() :: 디렉터리 항목 하나씩 읽기 2026.03.18
546 fdopendir() :: 열린 디렉터리 디스크립터를 스트림으로 감싸기 2026.03.18
545 opendir() :: 디렉터리 스트림 열기 2026.03.17
544 getcwd() :: 현재 작업 디렉터리의 절대 경로 얻기 2026.03.17
543 fchdir() :: 열린 디렉터리 디스크립터로 작업 위치 바꾸기 2026.03.17
542 chdir() :: 현재 작업 디렉터리 바꾸기 2026.03.17
541 log() :: 자연로그 계산하기 (double) 2026.03.17
540 dirname() :: 경로에서 디렉터리 부분 얻기 2026.03.16
539 basename() :: 경로에서 마지막 파일 이름 부분 얻기 2026.03.16
538 realpath() :: 상대 경로와 심볼릭 링크를 정규 경로로 풀기 2026.03.16
537 readlinkat() :: 디렉터리 기준으로 심볼릭 링크 경로 읽기 2026.03.16
536 readlink() :: 심볼릭 링크에 기록된 경로 읽기 2026.03.16
535 symlinkat() :: 기준 디렉터리 아래에 심볼릭 링크 만들기 2026.03.15
534 symlink() :: 다른 경로를 가리키는 심볼릭 링크 만들기 2026.03.15
533 linkat() :: 기준 디렉터리와 플래그를 지정해 하드 링크 만들기 2026.03.15
532 link() :: 같은 inode를 가리키는 하드 링크 만들기 2026.03.15
531 remove() :: 파일이나 빈 디렉터리 제거하기 2026.03.15
530 unlinkat() :: 디렉터리 기준으로 파일 또는 빈 디렉터리 제거하기 2026.03.14
529 unlink() :: 파일 이름 하나 제거하기 2026.03.14
528 renameat2() :: 교환과 덮어쓰기 제한을 지정해 이름 바꾸기 2026.03.14
527 renameat() :: 기준 디렉터리들을 지정해 경로 이름 바꾸기 2026.03.14
526 rename() :: 파일 이름이나 경로 바꾸기 2026.03.14
525 rmdir() :: 비어 있는 디렉터리 제거하기 2026.03.13
524 mkdirat() :: 기준 디렉터리 아래에 새 디렉터리 만들기 2026.03.13
523 mkdir() :: 새 디렉터리 만들기 2026.03.13
522 fstatvfs() :: 디스크립터로 파일 시스템 용량 조회하기 2026.03.13
521 statvfs() :: 이식 가능한 파일 시스템 용량 정보 읽기 2026.03.13
520 fstatfs() :: 열린 파일이 속한 파일 시스템 상태 읽기 2026.03.12
519 fopen() :: 표준 입출력으로 파일 열기 2026.03.12
518 statfs() :: 경로가 속한 파일 시스템의 상태 읽기 2026.03.12
517 statx() :: 확장된 파일 메타데이터 조회하기 2026.03.12
516 fstatat() :: 기준 디렉터리와 플래그를 지정해 파일 정보 읽기 2026.03.12
515 fstat() :: 열린 파일 디스크립터의 메타데이터 읽기 2026.03.11
514 lstat() :: 심볼릭 링크 자체의 파일 정보 읽기 2026.03.11
513 stat() :: 경로가 가리키는 파일 정보 읽기 2026.03.11
512 posix_fadvise() :: 파일 접근 패턴을 커널에 알려주기 2026.03.11
511 posix_fallocate() :: POSIX 방식으로 파일 공간 확보하기 2026.03.11
510 fallocate() :: 파일 저장 공간을 미리 확보하거나 해제하기 2026.03.10
509 ftruncate() :: 열린 파일의 길이 바꾸기 2026.03.10
508 lgamma() :: 감마 함수 절댓값의 로그 계산하기 (double) 2026.03.10
507 truncate() :: 경로가 가리키는 파일 길이 바꾸기 2026.03.10
506 sync_file_range() :: 파일의 특정 구간 기록을 제어하기 2026.03.10
505 syncfs() :: 특정 파일 시스템의 변경 내용을 동기화하기 2026.03.09
504 sync() :: 파일 시스템의 변경 내용을 동기화하기 2026.03.09
503 fdatasync() :: 파일 데이터를 중심으로 저장 장치에 동기화하기 2026.03.09
502 fsync() :: 파일 데이터와 메타데이터를 저장 장치에 반영하기 2026.03.09
501 readahead() :: 필요해질 파일 데이터를 미리 읽도록 요청하기 2026.03.09
500 vmsplice() :: 사용자 버퍼를 파이프에 연결하기 2026.03.08
499 tee() :: 파이프 데이터를 소비하지 않고 다른 파이프로 복제하기 2026.03.08
498 malloc() :: 동적 메모리 할당하기 2026.03.08
497 splice() :: 파이프와 파일 사이 데이터를 커널에서 이동하기 2026.03.08
496 free() :: 할당한 메모리 반환하기 2026.03.08
495 copy_file_range() :: 커널 안에서 파일 구간 복사하기 2026.03.07
494 sendfile() :: 파일 데이터를 커널 안에서 다른 디스크립터로 보내기 2026.03.07
493 lseek() :: 열린 파일의 현재 오프셋 이동하기 2026.03.07
492 pwritev2() :: 플래그를 지정한 위치 기반 벡터 쓰기 2026.03.07
491 preadv2() :: 플래그를 지정한 위치 기반 벡터 읽기 2026.03.07
490 pwritev() :: 여러 버퍼를 지정 위치에 기록하기 2026.03.06
489 preadv() :: 지정 위치의 데이터를 여러 버퍼로 읽기 2026.03.06
488 writev() :: 여러 버퍼를 한 번에 모아서 쓰기 2026.03.06
487 readv() :: 여러 버퍼로 한 번에 분산해서 읽기 2026.03.06
pwrite() :: 파일 오프셋을 바꾸지 않고 지정 위치 쓰기 2026.03.05
485 pread() :: 파일 오프셋을 바꾸지 않고 지정 위치 읽기 2026.03.05
484 write() :: 파일 디스크립터에 바이트 쓰기 2026.03.05
483 read() :: 파일 디스크립터에서 바이트 읽기 2026.03.05
482 freopen() :: FILE 스트림을 다른 파일에 다시 연결하기 2026.03.05
481 fclose() :: FILE 스트림을 닫고 버퍼 기록하기 2026.03.04
480 fdopen() :: 기존 디스크립터를 FILE 스트림으로 감싸기 2026.03.04
479 fileno() :: FILE 스트림에서 파일 디스크립터 얻기 2026.03.04
478 lockf() :: 파일의 바이트 범위에 잠금 걸기 2026.03.04
477 flock() :: 열린 파일에 공유 또는 배타 잠금 설정하기 2026.03.04
476 std::variant :: 정해진 여러 자료형 중 하나 보관하기 2026.03.03
475 fcntl() :: 파일 디스크립터 플래그와 잠금 제어하기 2026.03.03
474 sendto() :: UDP 목적지를 지정해서 보내기 2026.03.03
473 recv() :: 연결된 소켓에서 데이터 받기 2026.03.03
472 dup3() :: close-on-exec 플래그와 함께 디스크립터 복제하기 2026.03.03
471 send() :: 연결된 소켓으로 데이터 보내기 2026.03.02
470 recvfrom() :: UDP 데이터와 보낸 주소 함께 받기 2026.03.02
469 dup2() :: 지정한 번호로 파일 디스크립터 복제하기 2026.03.02
468 dup() :: 기존 파일 디스크립터 복제하기 2026.03.02
467 close_range() :: 디스크립터 범위를 한 번에 닫기 2026.03.02
466 close() :: 열린 파일 디스크립터 닫기 2026.03.01
465 creat() :: 파일을 새로 만들거나 내용을 비우고 열기 2026.03.01
464 openat2() :: 경로 해석 조건을 제한하면서 파일 열기 2026.03.01
463 openat() :: 디렉터리 디스크립터를 기준으로 파일 열기 2026.03.01
462 open() :: 경로를 열어 파일 디스크립터 얻기 2026.03.01
461 ldexp() :: 2의 거듭제곱 배수 계산하기 (double) 2026.02.28
460 hypot() :: 오버플로를 줄인 직각삼각형 빗변 계산하기 (double) 2026.02.28
459 frexp() :: 가수와 2의 지수 분리 계산하기 (double) 2026.02.28
458 fmod() :: 나눗셈의 부동소수점 나머지 계산하기 (double) 2026.02.28
457 배열 최솟값 :: 초기값을 첫 원소에서 가져오기 2026.02.27
456 fmin() :: NaN 규칙을 적용한 실수 최솟값 계산하기 (double) 2026.02.27
455 fmax() :: NaN 규칙을 적용한 실수 최댓값 계산하기 (double) 2026.02.27
454 fma() :: 한 번 반올림하는 곱셈 덧셈 계산하기 (double) 2026.02.27
453 floor() :: 음의 무한대 방향 정수 내림 계산하기 (double) 2026.02.27
452 std::tuple :: 서로 다른 자료형 여러 개 묶기 2026.02.26
451 fdim() :: 두 실수 차이의 양수 부분 계산하기 (double) 2026.02.26
450 fabs() :: 부동소수점 절댓값 계산하기 (double) 2026.02.26
449 expm1() :: 작은 입력에서도 정밀한 exp(x)-1 계산하기 (double) 2026.02.26
448 배열 뒤집기 :: 양 끝 원소를 교환하기 2026.02.26
447 exp2() :: 밑이 2인 지수 계산하기 (double) 2026.02.25
446 exp() :: 자연 지수 계산하기 (double) 2026.02.25
445 erfc() :: 상보 오차 함수 계산하기 (double) 2026.02.25
444 erf() :: 오차 함수 계산하기 (double) 2026.02.25
443 std::pair :: 두 값을 한 결과로 반환하기 2026.02.24
442 cosh() :: 쌍곡코사인 계산하기 (double) 2026.02.24
441 cos() :: 코사인 계산하기 (double) 2026.02.24
440 copysign() :: 다른 수의 부호 복사 계산하기 (double) 2026.02.23
439 ceil() :: 양의 무한대 방향 정수 올림 계산하기 (double) 2026.02.23
438 배열 검색 :: 찾지 못한 경우를 길이로 표현하기 2026.02.23
437 cbrt() :: 세제곱근 계산하기 (double) 2026.02.22
436 atanh() :: 역쌍곡탄젠트 계산하기 (double) 2026.02.22
435 atan2() :: 두 좌표의 방향각 계산하기 (double) 2026.02.22
434 atan() :: 역탄젠트 계산하기 (double) 2026.02.22
433 std::initializer_list :: 중괄호 목록을 인수로 받기 2026.02.22
432 asinh() :: 역쌍곡사인 계산하기 (double) 2026.02.21
431 asin() :: 역사인 계산하기 (double) 2026.02.21
430 acosh() :: 역쌍곡코사인 계산하기 (double) 2026.02.21
429 acos() :: 역코사인 계산하기 (double) 2026.02.21
428 단락 평가 :: 조건 순서로 잘못된 접근 막기 2026.02.21
427 wcswidth() :: 와이드 문자열의 화면 칸 수 구하기 2026.02.20
426 wcwidth() :: 와이드 문자 하나의 화면 칸 수 구하기 2026.02.20
425 mbsinit() :: 멀티바이트 변환 상태가 초기 상태인지 확인하기 2026.02.20
424 wcsrtombs() :: 와이드 문자열을 멀티바이트 문자열로 변환하기 2026.02.20
423 std::string::data() :: 수정 가능한 연속 문자 공간 2026.02.20
422 mbsrtowcs() :: 멀티바이트 문자열을 와이드 문자열로 변환하기 2026.02.19
421 wcrtomb() :: 와이드 문자를 멀티바이트 문자로 변환하기 2026.02.19
420 mbrtowc() :: 멀티바이트 문자를 와이드 문자로 변환하기 2026.02.19
419 iconv_close() :: 문자 인코딩 변환 핸들 닫기 2026.02.19
418 비트 시프트 :: 마스크와 이동 횟수 확인하기 2026.02.19
417 iconv() :: 입력 바이트열의 문자 인코딩 변환하기 2026.02.18
416 iconv_open() :: 문자 인코딩 변환 핸들 만들기 2026.02.18
415 nl_langinfo() :: 선택한 로케일 정보 항목 읽기 2026.02.18
414 문자열 리터럴 :: 읽기 전용 배열과 복사본 2026.02.18
413 localeconv() :: 숫자와 통화 표기 규칙 조회하기 2026.02.18
412 uselocale() :: 현재 스레드의 로케일 객체 선택하기 2026.02.17
411 freelocale() :: 로케일 객체 해제하기 2026.02.17
410 duplocale() :: 로케일 객체 복제하기 2026.02.17
409 _Alignof :: 크기와 정렬 요구 구분하기 2026.02.17
408 newlocale() :: 별도 로케일 객체 만들기 2026.02.17
407 setlocale() :: 프로세스 로케일 선택하기 2026.02.16
406 getlogin_r() :: 로그인 사용자 이름을 버퍼에 얻기 2026.02.16
405 getgrouplist() :: 사용자가 속한 그룹 목록 얻기 2026.02.16
404 std::byte :: 숫자가 아니라 원시 바이트 표현하기 2026.02.16
403 initgroups() :: 사용자의 보조 그룹 목록 초기화하기 2026.02.16
402 getgrgid_r() :: 그룹 ID로 그룹 정보 안전하게 조회하기 2026.02.15
401 getgrnam_r() :: 그룹 이름으로 그룹 정보 안전하게 조회하기 2026.02.15
400 getpwuid_r() :: 사용자 ID로 계정 정보 안전하게 조회하기 2026.02.15
399 열거 상수 :: 고정 배열 길이에 이름 붙이기 2026.02.15
398 getpwnam_r() :: 사용자 이름으로 계정 정보 안전하게 조회하기 2026.02.15
397 setgroups() :: 보조 그룹 목록 설정하기 2026.02.14
396 setegid() :: 유효 그룹 ID 바꾸기 2026.02.14
395 setgid() :: 프로세스 그룹 ID 바꾸기 2026.02.14
394 char 출력 :: 문자와 숫자로 보는 두 방법 2026.02.14
393 seteuid() :: 유효 사용자 ID 바꾸기 2026.02.12
392 setuid() :: 프로세스 사용자 ID 바꾸기 2026.02.12
391 getresgid() :: 실제와 유효 및 저장된 그룹 ID 얻기 2026.02.12
390 getresuid() :: 실제와 유효 및 저장된 사용자 ID 얻기 2026.02.12
389 블록 범위 :: 같은 이름이 다른 변수를 가릴 때 2026.02.12
388 getgroups() :: 보조 그룹 ID 목록 조회하기 2026.02.11
387 getegid() :: 유효 그룹 ID 조회하기 2026.02.11
386 getgid() :: 실제 그룹 ID 조회하기 2026.02.11
385 geteuid() :: 유효 사용자 ID 조회하기 2026.02.11
384 std::ptrdiff_t :: 포인터 사이 원소 거리 2026.02.10
383 getuid() :: 실제 사용자 ID 조회하기 2026.02.10
382 hdestroy() :: 표준 해시 테이블 자원 정리하기 2026.02.10
381 hsearch() :: 표준 해시 테이블에서 검색 또는 삽입하기 2026.02.10
380 static 지역 변수 :: 호출이 끝나도 값 유지하기 2026.02.10
379 hcreate() :: 표준 해시 테이블 생성하기 2026.02.09
378 tdestroy() :: 이진 탐색 트리와 노드 자원 해제하기 2026.02.09
377 twalk() :: 이진 탐색 트리의 노드 순회하기 2026.02.09
376 tdelete() :: 이진 탐색 트리에서 항목 제거하기 2026.02.09
375 std::size_t :: 원소 개수와 역방향 반복 2026.02.09
374 tfind() :: 이진 탐색 트리에서 항목 찾기 2026.02.08
373 tsearch() :: 이진 탐색 트리에 항목 삽입 또는 검색하기 2026.02.08
372 qsort_r() :: 문맥 인수를 전달하며 배열 정렬하기 2026.02.08
371 qsort() :: 비교 함수를 이용해 배열 정렬하기 2026.02.08
370 함수 포인터 :: 실행할 동작을 인수로 넘기기 2026.02.08
369 bsearch() :: 정렬된 배열에서 이진 검색하기 2026.02.07
368 regfree() :: 컴파일된 정규식 자원 해제하기 2026.02.07
367 regerror() :: POSIX 정규식 오류를 문자열로 변환하기 2026.02.06
366 regexec() :: 컴파일된 정규식으로 문자열 검색하기 2026.02.06
365 std::in_range() :: 정수 축소 변환 전에 확인하기 2026.02.06
364 regcomp() :: POSIX 정규식 컴파일하기 2026.02.06
363 select() :: 여러 파일 디스크립터 기다리기 2026.02.06
362 globfree() :: glob 결과의 동적 메모리 해제하기 2026.02.03
361 epoll :: 리눅스에서 많은 소켓 감시하기 2026.02.03
360 출력 매개변수 :: 주소로 여러 결과 돌려주기 2026.02.03
359 glob() :: 파일 경로 패턴을 실제 경로 목록으로 확장하기 2026.02.03
358 fnmatch() :: 파일 이름을 셸 패턴과 비교하기 2026.02.03
357 setlogmask() :: 시스템 로그 우선순위 필터 설정하기 2026.02.02
356 closelog() :: 시스템 로그 연결 닫기 2026.02.02
355 std::cmp_less() :: 부호가 다른 정수를 안전하게 비교하기 2026.02.02
354 syslog() :: 우선순위와 함께 시스템 로그 기록하기 2026.02.02
353 openlog() :: 시스템 로그 연결 속성 설정하기 2026.02.02
352 backtrace_symbols_fd() :: 호출 스택 설명을 디스크립터에 출력하기 2026.02.01
351 backtrace_symbols() :: 호출 스택 주소를 설명 문자열로 변환하기 2026.02.01
350 값 전달 :: 함수가 원본 변수를 못 바꾸는 이유 2026.02.01
349 backtrace() :: 현재 호출 스택의 주소 수집하기 2026.02.01
348 dl_iterate_phdr() :: 로드된 공유 객체의 프로그램 헤더 순회하기 2026.02.01
347 dladdr() :: 주소가 속한 라이브러리와 심볼 정보 얻기 2026.01.31
346 실수의 min과 lowest :: 가장 작은 값의 두 의미 2026.01.31
345 dlerror() :: 동적 로더의 오류 메시지 읽기 2026.01.31
344 dlsym() :: 라이브러리에서 심볼 주소 찾기 2026.01.31
343 dlclose() :: 공유 라이브러리 참조 해제하기 2026.01.31
342 dlopen() :: 실행 중 공유 라이브러리 열기 2026.01.30
341 복합 리터럴 :: 이름 없이 구조체 값 만들기 2026.01.30
340 mkfifoat() :: 디렉터리 기준으로 FIFO 만들기 2026.01.30
339 mkfifo() :: 이름 있는 파이프 만들기 2026.01.30
338 msgctl() :: System V 메시지 큐 상태와 수명 제어하기 2026.01.30
337 msgrcv() :: System V 메시지 큐에서 메시지 받기 2026.01.28
336 std::numeric_limits :: 정수 경계를 코드에서 얻기 2026.01.28
335 msgsnd() :: System V 메시지 큐에 메시지 보내기 2026.01.28
334 msgget() :: System V 메시지 큐 얻기 2026.01.28
333 mq_notify() :: 메시지 큐 도착 통지 등록하기 2026.01.27
332 mq_setattr() :: POSIX 메시지 큐 속성 변경하기 2026.01.27
331 union :: 같은 공간을 다른 자료형으로 사용하기 2026.01.27
330 mq_getattr() :: POSIX 메시지 큐 속성 조회하기 2026.01.27
329 mq_timedreceive() :: 제한 시간을 지정해 메시지 받기 2026.01.27
328 mq_timedsend() :: 제한 시간을 지정해 메시지 보내기 2026.01.25
327 mq_receive() :: POSIX 메시지 큐에서 메시지 받기 2026.01.25
326 std::int32_t :: 고정 폭 정수 선택하기 2026.01.25
325 mq_send() :: POSIX 메시지 큐에 우선순위와 함께 메시지 넣기 2026.01.25
324 mq_unlink() :: POSIX 메시지 큐 이름 제거하기 2026.01.25
323 mq_close() :: POSIX 메시지 큐 디스크립터 닫기 2026.01.24
322 mq_open() :: POSIX 메시지 큐 열기 2026.01.24
321 구조체 패딩 :: 멤버 사이에 빈 공간이 생기는 이유 2026.01.24
320 semtimedop() :: 제한 시간을 지정한 세마포어 연산 수행하기 2026.01.23
319 semop() :: System V 세마포어 연산 묶음 수행하기 2026.01.23
318 semctl() :: System V 세마포어 집합 제어하기 2026.01.23
317 semget() :: System V 세마포어 집합 얻기 2026.01.23
316 읽기 전용 span :: 뷰의 const와 원소의 const 2026.01.23
315 sem_getvalue() :: POSIX 세마포어의 현재 값 조회하기 2026.01.22
314 sem_post() :: 세마포어 값을 증가시켜 대기자 깨우기 2026.01.22
313 sem_timedwait() :: 제한 시간 동안 세마포어 기다리기 2026.01.22
312 구조체 배열 :: 여러 레코드를 순서대로 저장하기 2026.01.22
311 sem_trywait() :: 세마포어 획득을 기다리지 않고 시도하기 2026.01.22
310 sem_wait() :: 세마포어 값을 기다렸다가 감소시키기 2026.01.20
309 sem_unlink() :: 이름 있는 세마포어 이름 제거하기 2026.01.20
308 sem_close() :: 이름 있는 POSIX 세마포어 연결 닫기 2026.01.20
307 std::span::last() :: 끝쪽 원소 범위 선택하기 2026.01.20
306 sem_open() :: 이름 있는 POSIX 세마포어 열기 2026.01.19
305 sem_destroy() :: 이름 없는 POSIX 세마포어 정리하기 2026.01.19
304 sem_init() :: 이름 없는 POSIX 세마포어 초기화하기 2026.01.19
303 shmctl() :: System V 공유 메모리 상태 조회와 제어하기 2026.01.19
302 구조체 포인터 :: 점 연산자와 화살표 연산자 2026.01.19
301 shmdt() :: System V 공유 메모리 연결 해제하기 2026.01.18
300 shmat() :: System V 공유 메모리를 주소 공간에 연결하기 2026.01.18
299 shmget() :: System V 공유 메모리 세그먼트 얻기 2026.01.18
298 shm_unlink() :: POSIX 공유 메모리 이름 제거하기 2026.01.18
297 std::span::first() :: 앞쪽 원소 범위 선택하기 2026.01.17
296 shm_open() :: POSIX 공유 메모리 객체 열기 2026.01.17
295 pthread_mutexattr_getpshared() :: 뮤텍스의 프로세스 공유 속성 조회하기 2026.01.17
294 pthread_mutexattr_setpshared() :: 뮤텍스의 프로세스 공유 속성 설정하기 2026.01.17
293 pthread_mutexattr_getrobust() :: 뮤텍스의 강건성 속성 조회하기 2026.01.17
292 struct :: 서로 다른 값을 하나로 묶기 2026.01.16
291 pthread_mutexattr_setrobust() :: 뮤텍스의 소유자 종료 복구 방식 설정하기 2026.01.16
290 pthread_mutex_consistent() :: 강건한 뮤텍스의 공유 상태 복구 완료 알리기 2026.01.16
289 pthread_spin_unlock() :: 스핀락 해제하기 2026.01.16
288 pthread_spin_trylock() :: 스핀락 획득을 기다리지 않고 시도하기 2026.01.15
287 std::span::subspan() :: 부분 범위 만들기 2026.01.15
286 pthread_spin_lock() :: 스핀락을 얻을 때까지 반복 대기하기 2026.01.15
285 pthread_spin_destroy() :: 스핀락 자원 정리하기 2026.01.15
284 pthread_spin_init() :: 스핀락 초기화하기 2026.01.15
283 pthread_setschedparam() :: 스레드 스케줄링 정책과 우선순위 바꾸기 2026.01.14
282 배열 포인터 :: 행 하나를 가리키는 선언 2026.01.14
281 pthread_getschedparam() :: 스레드 스케줄링 정책과 우선순위 얻기 2026.01.14
280 pthread_getattr_np() :: 실행 중인 스레드의 속성 얻기 2026.01.14
279 pthread_attr_getguardsize() :: 스택 경계 보호 영역 크기 조회하기 2026.01.14
278 std::span :: 주소와 길이를 함께 가진 뷰 2026.01.11
277 pthread_attr_setguardsize() :: 스택 경계 보호 영역 크기 설정하기 2026.01.11
276 pthread_attr_getstacksize() :: 스레드 스택 크기 속성 조회하기 2026.01.11
275 pthread_attr_setstacksize() :: 새 스레드의 스택 크기 설정하기 2026.01.11
274 pthread_attr_getdetachstate() :: 스레드 분리 상태 조회하기 2026.01.11
273 const 포인터 :: 무엇을 바꾸지 못하는가 2026.01.10
272 pthread_attr_setdetachstate() :: 스레드 분리 상태 지정하기 2026.01.10
271 pthread_attr_destroy() :: 스레드 속성 객체 정리하기 2026.01.10
270 pthread_attr_init() :: 스레드 속성 객체 초기화하기 2026.01.10
269 pthread_setaffinity_np() :: 스레드의 CPU affinity 설정하기 2026.01.10
268 구조적 바인딩 :: 배열 원소에 이름 붙이기 2026.01.09
267 pthread_getaffinity_np() :: 스레드의 CPU affinity 조회하기 2026.01.09
266 pthread_getname_np() :: 리눅스 스레드 이름 조회하기 2026.01.09
265 pthread_setname_np() :: 리눅스 스레드 이름 설정하기 2026.01.09
264 pthread_kill() :: 특정 스레드에 시그널 보내기 2026.01.09
263 ptrdiff_t :: 같은 배열의 포인터 간 거리 2026.01.08
262 pthread_sigmask() :: 스레드의 시그널 마스크 변경하기 2026.01.08
261 pthread_setcanceltype() :: 스레드 취소 방식 설정하기 2026.01.08
260 pthread_setcancelstate() :: 스레드 취소 허용 상태 설정하기 2026.01.06
259 pthread_testcancel() :: 스레드 취소 지점 명시하기 2026.01.06
258 중첩 std::array :: 고정 크기 행렬 만들기 2026.01.06
257 pthread_cancel() :: 스레드에 취소 요청 보내기 2026.01.06
256 pthread_exit() :: 현재 스레드만 종료하기 2026.01.05
255 pipe() :: 프로세스 사이에 단방향 통로 만들기 2026.01.05
254 execve() :: 현재 프로세스에서 새 프로그램 실행하기 2026.01.05
253 포인터 산술 :: 한 칸은 원소 하나의 크기 2026.01.05
252 pthread_equal() :: 두 POSIX 스레드 ID 비교하기 2026.01.05
251 pthread_self() :: 현재 스레드 식별자 얻기 2026.01.04
250 pthread_detach() :: 스레드 종료 자원을 자동 회수하도록 설정하기 2026.01.04
249 pthread_join() :: 스레드 종료를 기다리고 반환값 회수하기 2026.01.04
248 std::to_array() :: C 배열에서 길이 추론하기 2026.01.04
247 pthread_create() :: 새 POSIX 스레드 만들기 2026.01.04
246 psignal() :: 시그널 번호 설명을 표준 오류에 출력하기 2026.01.03
245 pause() :: 시그널이 전달될 때까지 기다리기 2026.01.03
244 널 포인터 :: 가리키는 대상이 없다는 상태 2026.01.03
243 sigismember() :: 집합에 시그널이 포함되어 있는지 확인하기 2026.01.03
242 sigdelset() :: 시그널 집합에서 항목 제거하기 2026.01.02

게시글 URL이 복사되었습니다.

비회원이 작성한 게시글은 댓글 작성마다 닉네임이 변경되므로 동일인임을 알 수 있도록 IP 주소 배열 2번째까지 공개합니다.

SKT, KT, LG U+ : 각 통신사 사용자가 남긴 댓글입니다.

Personal : 와이파이나 랜선에 직접 연결된 사용자가 남긴 댓글입니다.

회원만 다운로드가 가능합니다.
확인을 누르면 회원가입 페이지로 이동합니다.

회원이라면 로그인 후 다시 시도해 보세요.
확인을 누르면 회원가입 페이지로 이동합니다.

글을 모두 읽을때까지 소요되는 추정 시간 입니다.

업로드/다운로드 속도는 서버의 네트워크 트래픽 정보 입니다.
개별 사용자의 속도와는 관련이 없습니다.

콕 찔렀습니다!

PC가 이미 켜져 있습니다.

알 수 없는 오류가 발생했습니다.

PC에 전원 ON 명령을 요청했습니다.

PC 전원이 켜졌습니다.