wittch   1년 전

문제 노트에 입출력 관련 시간초과 내용이 있어

cin, cout을 scanf와 prinf로 바꿔서 제출했더니 bad_alloc이 발생하더군요,

bad_alloc은 동적할당과 관련된 메모리 초과 문제로 알고 있는데,

왜 이런 현상이 일어나는 지 알려주실 수 있나요?

pill27211   1년 전

scanf() 및 printf()에서 c++의 string을 입출력할 때, 먼저 scanf()는 c++의 string을 입력 받을 수 없습니다.(C스타일의 문자열과 다르기 때문) 또한 printf()로 c++의 string을 출력하고자 할 때도 C스타일의 문자열로 변환 후 출력해야 정상 출력 됩니다. (printf("%s", str.c_str());)

댓글을 작성하려면 로그인해야 합니다.