본문 바로가기

Programing/C/C++

[C] 입력함수 scanf, gets, fgets 함수 문자열 입력시 차이점 [C] scanf, gets, fgets 함수 문자열 입력시 차이점 C에서 쓰이는 입력 함수인 scanf, gets, fgets 함수가 문자열 입력 시에 어떠한 차이가 있는지 정리해 보도록 하겠다. 기본적으로 OOOOO(엔터) 를 입력했을 시에 scanf() 함수로 문자열을 입력시 엔터 전까지 OOOOO 문자열을 가져오고, 마지막에 \0 (문자열의 끝을 알려주는 널문자)을 가져온다. OOOOO(엔터) ------------> OOOOO\0 또한 scanf 함수는 공백이 나오면 공백이전까지 저장되고 마지막에 \0문자를 붙여준다. gets() 함수는 OOOOO(엔터) 줄바꿈문자열까지 갖고 온다. 그 후에 \n(줄바꿈문자)를 \0(널문자)로 바꾸어준다. OOOOO(엔터) ---------> OOOOO(엔터) .. 더보기
[C] srand 랜덤 함수 [C] srand 랜덤 함수 #include main 함수에서 선언 int main(){srand(time(NULL)); // 프로그램을 매번 실행 할 때마다 임의의 값이 나온다. int i; i = rand()%8 // 임의의 수에 8로 나눈 나머지 값을 i에 저장. return 0;} 더보기
[C] 2차원 배열 동적 할당 [C] 2차원 배열 동적 할당 크기가 i * j 인 2차열 배열 동적 할당 하기 int **array; array = (int**)malloc(sizeof(int *) * i ); for(k = 0 ; k 더보기
char 형 -> int 형으로 전환하기 char 형 -> int 형으로 전환하기 char ch='1'; int num = (int) ch- 48 // 48을 빼주는 이유는 숫자의 기본 캐릭터 코드 넘버가 숫자 +48이기 때문이다. 더보기
[list] list 모두 삭제하기 [list] list 모두 삭제하기 list list1;list::iterator itor; cout 더보기
[list:sort] list:sort() 사용하기 출처 : http://alones.kr/tag/stdlistsort 목차 1 Introduction 2 Signature 3 Usage 1: sort() 4 Usage 2: sort(Compare comp) 5 Usage 3: sort(greater pr) 6 References [edit] 1 Introduction # list::sort는 list 내에 있는 element 들을 소팅 해준다. 소팅의 기준은 elements의 operator< 연산자 재 정의를 따르거나 sort에 전달되는 Compare에 따른다. 그래서 아래 Signatrue와 같이 두 가지 방식이 제공된다. Template과 재정의를 막각하게 제공해주는 STL의 성격을 잘 드러내 주는 api라고 볼 수 있다. [edit] 2 Sign.. 더보기
[list 복사] list의 모든 데이터를 다른 list로 복사 list의 모든 데이터를 다른 list로 복사stl의 list는 시퀀스의 중간에 빈번한 삽입, 삭제가 수행될 때 사용하는 시퀀스 컨테이너이다. 이러한 특징에 맞춰 list를 사용하곤 하는데, 종종 저장된 list의 원소들을 복사해서 사용할 필요가 있을 때가 있다. list의 모든 원소를 복사하는 방법에는 여러가지가 있지만, 다음은 assign 멤버 함수와 알고리즘 함수 copy를 사용하여 복사하는 방법에 대한 설명이다. 결론부터 이야기하자면, 단일 원소 버전인 copy 보다는 범위 버전인 assign 함수가 효율성에서 더 좋으므로 사용이 권고되고 있다. 1. assign 멤버 함수를 사용하는 방법 #include typedef std::list LIST_ID; LIST_ID lstSrcID; // 소스 .. 더보기
C++ 출력 정렬하기(setw, seft, setprecision) C++ 출력 정렬하기(setw, seft, setprecision) #include #include void main(){double x=3.1415;cout 더보기
C++ char <-> string 변환하기 [C++] char string 변환하기 string -> charstring sFilename;char *ch; ch = (char*)sFilename.c_str(); char[] -> stringstring str;char *a;for(int i=0 ; i < str.length(); i++)str+=a[i]; 더보기
C++ 대문자 <-> 소문자 변환 종합 정리 C++ 대문자 소문자 변환 종합 정리(char, cstring, string) char 변환 #include char c='a'; toupper(c); tolower(c); 원본 c는 변경한 값을 반환한다. 안되는 경우(이미 적용되었거나 특수문자 등)는 그대로 c를 반환하니 주의없이 사용 가능하다. 다만 함수 원형은 in toupper(int), int tolower(int) 이기 때문에cout 더보기