반응형

C언어 450

vprintf 함수[C언어 표준 라이브러리 함수 가이드]

vprintf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int vprintf ( const char * format, va_list arg ); 버퍼에 포멧을 지정하여 가변 인자를 출력하는 함수 입력 매개 변수 리스트 format 포멧 문자열 arg 가변 인자 반환 값 성공 시 출력한 문자 개수, 실패 시 음수 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int vprintf ( const char * format, va_list arg ); 버퍼에 포멧을 지정하여 가변 인자를 출력하는 함수 //메시지와 가변 인자 리스트를 받아 표준 출력 스트림에 출력 #include #include //가변 인자를 받아 표준 스트림에 출력하는 함수 void My..

sscanf_s 함수[C언어 표준 라이브러리 함수 가이드]

sscanf_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sscanf_s (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정하여 읽어오는 함수 입력 매개 변수 리스트 buffer 소스 문자열 format 포멧 문자열 ... 가변 인자 리스트 반환 값 변환 성공한 개수 sscanf 함수는 소스 문자열에 있는 내용으로 설정할 버퍼의 크기가 작으면 버퍼 오버플로우 현상이 발생할 수 있습니다. C11에서는 이를 개선한 sscanf_s를 제공하고 있습니다. sscanf_s로 소스 문자열에 있는 내용으로 문자열이나 문자를 설정할 때는 설정할 버퍼의 크기를 전달합니다. 사용 예 //C언어 표준 라이브러리 함수 사용..

sscanf 함수[C언어 표준 라이브러리 함수 가이드]

sscanf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sscanf (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정하여 읽어오는 함수 입력 매개 변수 리스트 buffer 소스 문자열 format 포멧 문자열 ... 가변 인자 리스트 반환 값 변환 성공한 개수 소스 문자열에 있는 내용으로 설정할 버퍼의 크기가 작으면 버퍼 오버플로우 현상이 발생할 수 있습니다. C11에서는 이를 개선한 sscanf_s를 제공하고 있습니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int sscanf (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정..

sprintf_s 함수[C언어 표준 라이브러리 함수 가이드]

sprintf_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sprintf_s ( char * buffer, size_t size, const char * format, ... ); 버퍼에 포멧을 지정하여 출력하는 함수 입력 매개 변수 리스트 buffer 출력할 버퍼 size 버퍼 크기 format 포멧 문자열 ... 가변 인자 리스트 반환 값 버퍼에 출력한 문자 개수 sprintf 함수는 버퍼의 크기를 전달하지 않아서 함수 내부에서는 버퍼의 크기를 알 수가 없습니다. 버퍼에 출력할 내용이 버퍼 크기보다 크면 버퍼 오버플로우 문제가 발생합니다. C11에서는 이러한 문제를 개선한 함수 sprintf_s를 제공합니다. 사용 예 //C언어 표준 라이브러리 함수 ..

sprintf 함수[C언어 표준 라이브러리 함수 가이드]

sprintf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sprintf ( char * buffer, const char * format, ... ); 버퍼에 포멧을 지정하여 출력하는 함수 입력 매개 변수 리스트 buffer 출력할 버퍼 format 포멧 문자열 ... 가변 인자 리스트 반환 값 버퍼에 출력한 문자 개수 버퍼의 크기를 전달하지 않아서 sprintf 함수 내부에서는 버퍼의 크기를 알 수가 없습니다. 버퍼에 출력할 내용이 버퍼 크기보다 크면 버퍼 오버플로우 문제가 발생합니다. C11에서는 이러한 문제를 개선한 sprintf_s 함수를 제공합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int sprintf ( char * b..

fopen_s 함수[C언어 표준 라이브러리 함수 가이드

fopen_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H errno_t fopen_s(FILE **pfp, const char *path,const char *mode); 파일 스트림을 여는 함수 입력 매개 변수 리스트 pfp 연 파일 스트림을 설정할 FILE *형식 변수의 주소 path 절대 경로 혹은 상대 경로 mode rwba+의 조합 문자열, fopen과 같습니다. 반환 값 성공하면 0, 실패하면 에러 값 C11 표준에서는 FILE 구조체인 struct _iobuf의 내부 멤버를 숨기고 있습니다. 개발자에 의해 직접 멤버에 접근하는 것을 방지하여 안전성을 도모하고 있습니다. 그리고 fopen 함수의 반환 값을 첫 번째 입력 인자로 FILE 포인터 변수의 주..

fscanf_s 함수[C언어 표준 라이브러리 함수 가이드

fscanf_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int fscanf_s (FILE * fp ,const char *format,...); 파일 스트림에 포멧을 지정하여 읽는 함수 입력 매개 변수 리스트 fp 입력 파일 스트림 format 포멧 문자열 ... 가변 인자 리스트 반환 값 성공 시 변환 성공 개수, 오류 시 EOF C11 표준에서 fscanf의 버퍼 오버플로우 문제를 개선한 함수입니다. 문자열이나 문자를 입력받을 때는 버퍼의 크기를 전달합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int fscanf_s(FILE * fp, const char *format, ...); 파일 스트림에 포멧을 지정하여 읽는 함수 //회원 정..

fscanf 함수[C언어 표준 라이브러리 함수 가이드]

fscanf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int fscanf (FILE * fp ,const char *format,...); 파일 스트림에 포멧을 지정하여 읽는 함수 입력 매개 변수 리스트 fp 입력 파일 스트림 format 포멧 문자열 ... 가변 인자 리스트 반환 값 성공 시 변환 성공 개수, 오류 시 EOF fscanf 함수도 scanf 함수처럼 문자열을 읽어올 때 버퍼 크기를 전달하지 않아 버퍼 오버플로우 문제가 발생할 수 있습니다. C11에서는 이를 개선한 fscanf_s를 제공합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int fscanf (FILE * fp ,const char *format,...); 파일 스트..

67. 정리하기

52. 함수 개요 53. 프로그램 생명 주기 54. 프로세스 메모리 구조 55. 프로그램 동작 원리 56. 매개변수 전달 원리 57. 전역 변수 58. 지역변수 59. 정적 변수 60. 상수화 변수 61. 함수 만들기 실습 시나리오 62. 도메인 분석 63. 함수명 결정 64. 함수 원형 결정 65. 테스트 코드 작성하기 66. 구현 1. 피보나치 수열의 n 항을 구하는 함수를 구현하시오. 2. 특정 구간 내에 n의 배수의 개수를 구하는 함수를 구현하시오. 3. 1에서 n 사이의 수 중에서 랜덤한 수를 m개 발급하는 함수를 구현하시오. 4. 두 수의 최대 공약수를 구하는 함수를 구현하시오. 5. 두 수의 최소 공배수를 구하는 함수를 구현하시오. 6. 두 수의 공약수의 개수를 구하는 함수를 구현하시오. 7..

66. 구현

실습 시나리오 도메인(Domain) 분석 함수명 결정 함수 원형 결정 테스트 로직 작성 구현 이제 하나 하나 구현해 보세요. 여러분은 먼저 함수를 구현해 본 후에 책을 보세요. 어렵고 귀찮아도 구현 전에 논리를 의사코드(pseudo code)나 플로우 차트, UML 등을 이용해서 정리해 보세요. 그리고 구체적으로 구현하는 것이 전체 비용을 줄이는 데 도움을 줄 거예요. a. 범위 내의 정수 합계를 구하는 함수 int GetSumInBoundary(int start, int end) start에서 end 구간까지의 정수 합계를 구하기 위해 반복문이 필요하겠죠. 여기서는 for 문을 사용할게요. 반복문에서는 현재 어디까지 더했는지 기억하기 위한 루프(반복문) 카운터 변수와 합계를 기억할 변수가 필요해요. 그..

반응형