::public/C,C++ 문자열 관련10 strcmp, strncmp(문자열 비교) 문자열을 비교하는 함수. #include // C++#include // C int strcmp(const char* str1, const char* str2)int strncmp(const char* str1, const char* str2, size_t n); ---------- int main(){ char str1[10] = "Hello"; char *str2 = "Hello"; int ret = strcmp(str1, str2); // 두 문자열이 같은지 문자열 비교 int ret = strcmp(str1, str2, 9); // 두 문자열이 같은지 문자열 비교 printf("%d\n", ret); // 0: str1 == str2(아스키코드 값 비교) // 1: str1 > str2 // -1.. 2021. 6. 1. sscanf => sscanf_s sscanf는 c언어 레퍼런스 함수로, 제공된 버퍼에서 형식화된 자료형을 읽어오는 함수. #include #include int sscanf_s(const char* str, const char* format, ...); ---------- char str[128] = "abcdefg1234";char resultStr[10]; sscanf_s(str, "%[a-z]", resultStr, sizeof(resultStr));// sscanf_s(str, "%[a-z]", resultStr, 10); Colored by Color Scriptercs format 으로 정할 수 있는 문자열. %[*][길이][한정자][데이터타입] * : 읽기만 하고 무시. 길이 : 읽을 최대 길이. 한정자 : 저장할 자료형의.. 2021. 6. 1. strcpy => strcpy_s // vs2013 이후부터 애러뿜뿜char* strcpy(char* strDestination, const char* strSource); char str[8];strcpy(str, "strcopy"); // strcpy의 보완// 복사될 메모리의 크기보다 원본 문자열의 크기가 크면 버그가 발생할 수 있다.errno_t strcpy_s(char* dest, rsize_t dest_size, const char* src); char str[8];strcpy_s(str, 8, "strcopy");Colored by Color Scriptercs 2019. 9. 9. fopen => fopen_s VS2017 버젼에서는 보안결함이 있는 함수들을 사용할 경우에 오류를 반환한다.(C4996) fopen FILE *fopen(const char *filename, const char *mode) FILE *pf = fopen("test.txt", "r"); fopen_s errno_t fopen_s(file **_stream, const char*_filename, const char*_mode) FILE *pf = NULL; errno_t err = fopen_s(&pf, "test.txt", "r"); 2019. 9. 4. 이전 1 2 다음