목록2018/05 (2)
Code Run
1. gets함수를 이용하기 : 준비된 문자열 길이보다 입력되는 문자열이 더 긴 경우 다른 메모리 공간(무엇이 저장되어 있는지 알수 없는)을 침범할 수 있다. char str[210]; gets(str); 2. fgets함수를 이용하기 : char str[210]; fgets(str, 210, stdin); /// 문자열을 209개까지 입력받고 마지막에 '\0'문자을 넣어 준다. 단 '\n'이 함께 입력된다. /// 행바꿈 문자('\n', '\r')가 필요없는 경우(대부분의 경우가 그렇다.) 제거해 주어야 한다. 3. c++ 인 경우 getline함수와 char배열을 사용하기 : char str[210]; cin.getline(str, 210); /// 문자열을 209개까지 입력받고 마지막에 '\0'문자..
개행(행바꿈)을 하는 경우 윈도우와 리눅스는 차이점이 있습니다. '\r' : carriage return'\n' : line feed[ new line ] = (carriage return) + line feed 윈도우는 옛날 타자기의 타이핑 방법을 그대로 따른 방법으로 '\r', '\n' 두 개의 문자를 사용합니다.리눅스에서는 좀 더 단순화 하여 '\n'만을 사용합니다.채점 데이터는 리눅스에서 작성된 것과 윈도우에서 작성된 파일이 혼재되어 있습니다.따라서 위 문제의 경우 gets() 또는 fgets()함수를 사용하는 경우 윈도우에서실행할 때는 잘 나오지만 채점 서버는 리눅스 이므로 다른 결과가 나올 수 있습니다. 여러 방법으로 이를 해결할 수 있겠지만 그 중 한 가지를 소개하면 아래와 같습니다.fget..