string.h에 들어있는 strlen 함수 질문드립니다.
fgets로 'abc'를 받으면 => 'abc\0' 요렇게 저장되는 걸로 알고 있습니다.
요걸 strlen함수에 다시 넣으면
1)
gcc 11.3.0으로 돌리면 3이 나오고
2)
visual studio로 돌리면 4가 나오는데,
요 부분 설명 해주실 고수님 계신가요? 찾아보니 원래 strlen 함수는 \0을 제외한 문자 개수를 반환하는 거라 gcc쪽이 맞아보이는데,
visual studio 쓰시는 분들은 그냥 단순히 strlen(문자열변수) - 1 해서 쓰시나요?
내 기억으로는 Gcc 쓸때
내 기억으론 gcc 쓸때 \n 자동으로 제거 해줘서 그럴껄? 비쥬얼 스튜디오는 ]
\n을 제거를 안해줌. 그래서 보통 따로 GCC 쓸때는 그 줄바꿈 해주는 \n을 0으로 하고, 비쥬얼 스튜디오에서는 줄바꿈을 글자로 치는걸로 앎
아하 엔터키 입력을 글자로 받아서 'abc\n\0' -> 'abc\n' 4개로 인식하는 거였군요 감사합니다
나도 리눅스 쓸때 그걸로 오류난 적 있어서 기억하는듯. 아마 내 말이 맞을꺼임
내용물 까보면 되잖아 - dc App