본문 바로가기

Study/C C++

(29)
string.h 함수 strncpy() 문자열을 지정하는 숫자만큼 복사 원형 : char *strncpy(char *destination, char *source, size_t n); strcat() 두 문자열을 합치기 원형 : char *strcat(char *str1, char *str2); strncat() 지정하는 숫자만큼 문자열 합치기; 원형 : char *strncat(char *str1, char *str2, size_t n); strcmp() 두개의 전체 문자열 비교 원형 : int strcmp(char *str1, char *str2); strncmp() 지정하는 숫자만큼의 문자까지를 비교 원형 : int strncmp(char *str1, char *str2, size_t n); strchr() 문자열에서 ..
main 함수 main(int argc, char *argv[], char *env[]) argc 프로그램을 실행했을때, 전달되는 인수의 갯수, 프로그램을 실행할때 인수를 전달받을수 있다. 첫번째 인수는 실행파일명으로 고정되어 있고, 인수에 포함되어 있다. argv argv는 이중 포인터로서 문자열 배열을 가리지는 포인터이이다. 전달되는 값은 실제 인수값이고, 입력된 인수는 문자열로 넘어간다. env 환경변수를 넘겨받는다.
sprintf http://mwultong.blogspot.com/2007/01/c-printf-printf-to-string.html http://shinlucky.tistory.com/309 :: 결론은 printf()의 출력결과를 문자열로 저장해야 할때 쓰임..;;
scanf , gets 여러군데서 찾은 결과는 scanf는 빈공백을 마친걸로 생각한다고 합니다. 그래서 공백이 있는 문자열을 넣을떄는 gets를 사용해야 한다고 합니다. 그런데 gets는 보안상의 문제? 오버플러(이건 또..)의 문제가 있어서 fgets를 사용해야 한다나;; 만약 gets를 사용하는데, 입력도 안했는데, 이녀석이 알아서 입력받은것 처럼, 넘어간다면,, gets(); 이걸 쓰기전에 fflush(stdin); 또는 getchar();를 써서 버퍼를 비워야 한다고 합니다.. fflush(stdin) 하지만 이건 VC 에서 작동하는거라, gcc에서는 작동을 안하다고 하더군요;; .....C.. 들어가면 갈수록 복잡하네;
gcc, clear #include system("clear");
gcc, bzero void bzero(void *s, size_t n); :: S의 처음 N 바이트를 0으로 채운다, 메모리 초기화를 목적으로 주로 쓰임 ::: bzero 보단 memset을 사용하는것이 좋다. _이것들은 또 모야,,
gcc, waring : warning: incompatible implicit declaration of built-in function #include 이거면 끝
[C언어]변수의 초기화 저걸 무슨 변수라고, 하더라,?,, 이름이 기억안나네요, 외부변수? 전역변수??? C의 용어도 어려운 이 느낌은.. 일단 main 밖에 scleint를 int형으로 선언했는데. 이걸 main 안에서 쓰려면; static 을 사용해야 합니다.. c++을 공부하다보니 기초가 노무 부족하게 느껴진다는.. 일단 저걸 사용하는 (저는 여러개의 함수를 만들 계획입니다.) 그리고 각 함수를 호출해서 공통으로 사용하려는 건데. 만약 main에서 plus를 함수를 호출하면 scaleint에 3이 증가하고 다른 함수를 호출하면 어떻게 되고...... 꼭 클래스 같은 느낌은 모지(최근에 클래스를 이용해서 스택 만드는것을 공부했는데. 거기 보니까 push 하면 넣고, pop 하면 빼고..등등) 일단 여러개의 함수가 있을떄 공..