-
scanf 함수로 값을 입력하게되면 ENTER를 입력하면서 버퍼에 \n값이 남게 된다. 그 이후 scanf를 한번더 진행하게되면 \n값이 남아있게되는 현상이 일어난다. 이를 비워주기위해서 사용되는 것이 바로 fflush이다! 리눅스에서는 fpurge를 사용한다~
map을 사용하는데 map에 저장된 내용을 어떠한 함수의 인자로 주고 싶을 때가 있다.12map maptest;map :: iterator; 간단히 이러한 예시가 있다고 하자 void test()라는 함수의 인자로 주고싶다면1234void test(map&map1){ } 이런식으로 함수를 인자를 작성해주면 된다.
분명히 모든준비가 다되었고 QSound 마저 include 하였는데도 "QSound: No such file or directory." 일 때가 있다. 이럴땐 pro.file 에서 QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgets multimedia 해주면 잘된다 ^^
qt creator를 사용하다보면 완벽하게 잘못된 코드임에도 build가 되는 경우가 있다. 이럴때는 아무리 CTRL + B 로 빌드하거나 CTRL + R 로 실행시켜도 잘못된코드임에도 실행이되며 디버깅을 위해 cout으로 출력을 해도 출력문이 안나온다. 여튼 그냥 아무것도 안된다. 이럴 떄는 컴퓨터나 qt를 재부팅할 필요없이 Bulid 탭에서 Rebuild all을 해주면 해결된다.
C++ 에서 입력을 받을 때 공백을 받고 싶은 경우가 있다. 문자를 배열로 입력받는다고 해보자 단순히 cin으로 입력을 받게되면 공백은 입력되지않고 공백 전까지의 문자만 입력이 된다. 이럴 때 사용하는 함수가 바로 cin.getline() 함수이다. ex)1 cin.getline(buff, buffsize, '\n') -> 개행을 만나기 전까지 입력을 모두 받음