디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

그러면 이쯤에서 문제

로하로하알로하갤로그로 이동합니다. 2011.10.08 18:06:25
조회 120 추천 0 댓글 19

사용자가 입력하고 싶은 만큼 입력 어떻게 하냐고 물어봤는데
이상한 답만하고 정작 알고 싶은건 얻지 못했음. 어쨋든

다시 궁금한거. malloc을 처음 쓸 때, 문자열에 동적할당을 할 때.
malloc(strlen(string)+1); 이런식으로 문자열 맨마지막에 +1을 해서
NULL문자를 위한 공간을 두라고 해주잖아?

string[5];
fgets(string,sizeof(string),stdin); 

주의할 점은 fgets는 개행까지 받는다.

경우 1 :
사용자 입력 : 123(엔터)
string의 값 : 123(개행)(널)
strlen(string) : 4

경우 2 :
사용자 입력 : 12345(엔터)
string의 값 : 1234(널)
strlen(string) : 4

여기서 알 수 있는건 fgets는 사실 sizeof(string)-1까지 실제 데이터를 받고
마지막은 무조건 널을 위해 남겨둔다는 사실이였어.
여기까지 왔다면 다른 버퍼에 동적할당을 해서 거기로 데이터를 옮기고 싶어
하지만 개행은 빼버리고 싶어.. 일반적으로 문자열을 동적할당할 때

char* p = (char*)malloc(strlen(string)+1);
memcpy(p,string,strlen(string));

이렇게 하잖아? 문자열이니 strcpy쓸텐데 난 문자열이 아니라 구조체 배열을 다루는중
어쨋든 이런식으로 하면 "경우 1"일 때 개행까지 복사가 이루어지잖아.
그렇다고

char* p = (char*)malloc(strlen(string)-1);
memcpy(p,string,strlen(string));

이렇게 하면, 널을 위한 자리가 없어서 문자열의 끝이 어딘지 모르는거 아냐?
근데 이상하게 잘 작동된다.. 왜지

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 비난 여론에도 뻔뻔하게 잘 살 것 같은 스타는? 운영자 24/06/03 - -
286475 근데 비주얼6.0이랑 2005 이후버전들은 인터페이스 너무 틀리지 않냐? 버틸수가없ㅋ다갤로그로 이동합니다. 11.11.07 41 0
286474 아그리구 미안한데 비쥬얼스튜디오 2010 다운받아 쓸수없을까 ㅜㅡ [5] Rocket Queen갤로그로 이동합니다. 11.11.07 97 0
286473 다음 면접 끝 ㅎㄷㄷㄷ [8] [성대아싸]갤로그로 이동합니다. 11.11.07 304 0
286472 ㅎㅇ 늅늅이 인사올림과 덧붙여 비쥬얼스튜디오 질문 헤헤 [13] Rocket Queen갤로그로 이동합니다. 11.11.07 118 0
286470 횽들 자바로 그림판 만들려고 하는데 궁금한게 있어요 학부생(165.229) 11.11.07 74 0
286469 디자인만 보면 맥 키보드가 좋은데 [1] -ㅂ-(210.90) 11.11.07 62 0
286468 리얼포스 색깔 너무 알록달록하지 않아? [2] -ㅂ-(210.90) 11.11.07 60 0
286466 횽들은 어디서 프로그래밍 공부함? [3] 캔버스(211.197) 11.11.07 77 0
286465 형들 혹시 파일처리론 배울때 [5] ㅁㄴㅇㅁ(121.66) 11.11.07 115 0
286464 횽들 질문이요 ~ [2] 치킨맛맛폰갤로그로 이동합니다. 11.11.07 47 0
286462 욕구 불만 한주 시작... [1] 다림줄갤로그로 이동합니다. 11.11.07 65 0
286461 우리들이 정신차리는 법 [3] 분당살람갤로그로 이동합니다. 11.11.07 134 0
286460 리얼포스 지름 후기 [9] McHello갤로그로 이동합니다. 11.11.07 257 0
286459 코드는 거짓말 하지 않는다... 다만 커널이... [4] iljeomobolt갤로그로 이동합니다. 11.11.07 112 0
286458 자바 awt구현 니오늘메시갤로그로 이동합니다. 11.11.07 42 0
286456 프로그래밍 막상 하기전에는 재미있어보였는데 하고나면 재미없지않냐 [4] ㅇㅇ(61.77) 11.11.07 98 0
286454 형들 APP개발하는데 비용 얼마나 걸려요 ?? [2] Tachy갤로그로 이동합니다. 11.11.07 164 0
286453 입갤 46살 몸짱 아줌마로 인사드립니다. [1] 다림줄갤로그로 이동합니다. 11.11.07 118 0
286452 프갤 솜사탕 여러분 [1] ㅁㄴㅇㅁ(121.66) 11.11.07 49 0
286451 위대하신 갤2를 구매했으니 [5] 천회장(221.149) 11.11.07 63 0
286448 한참 밑에 스펙 평가 보고 나도 평가점 [4] dlbo갤로그로 이동합니다. 11.11.07 131 0
286445 오늘도 지식인.kin ?(118.218) 11.11.07 46 0
286443 근데 박팀장은 뭐하는놈이? Adelposs갤로그로 이동합니다. 11.11.07 41 0
286441 우리 회사 문제점이 [2] 123(125.7) 11.11.07 146 0
286440 이거 먼가문제지??? [6] 와메빡체네(112.163) 11.11.07 96 0
286439 정신차릴려면 어떻게 해야되나 [2] Adelposs갤로그로 이동합니다. 11.11.07 71 0
286438 해병대라도 다녀와야하나 Adelposs갤로그로 이동합니다. 11.11.07 44 0
286437 횽들 다 자려나? 여기 어떻게 해야 돼??ㅠ [4] 젠장(180.66) 11.11.07 79 0
286436 11월 맞음? 나 방금 모기 3마리 잡음 [3] 123(125.7) 11.11.07 83 0
286435 붉은별 OS를 잠깐 써봤는데 [4] foriequal0갤로그로 이동합니다. 11.11.07 144 0
286434 =COUNTIF($C$2:$C$15,">=90") 이거랑 [2] 갤로그로 이동합니다. 11.11.07 78 0
286432 다음부터는 조별과제 내주고 혼자하고 싶은사람 손들으라할때 바로들어야지 [3] 허접(125.139) 11.11.07 97 0
286431 조옥같은 개발자 쉐키들..! [9] 이문동쮸쮸바갤로그로 이동합니다. 11.11.07 232 0
286430 실타시러 쓰레드 [1] 돌아이바갤로그로 이동합니다. 11.11.07 49 0
286429 어허, 내 자리를 넘보다니 [4] 땡칠도사갤로그로 이동합니다. 11.11.07 111 0
286427 코딩이 잘 안될땐 뭐다? [3] System32갤로그로 이동합니다. 11.11.07 142 0
286426 여긴 걍 개발자들이 쉬는데 맞는거 같음 [1] 꼬꼬월드갤로그로 이동합니다. 11.11.07 93 0
286425 자바 코딩중 막힘.......... 길잡이좀 해주세요..코딩 부탁 xㅠㅠ [14] 한숨만(112.163) 11.11.07 153 0
286423 여기좋음?! ㅇㅇ(222.107) 11.11.07 28 0
286421 내일 정형외과 다녀와야겠다 [1] 허접(125.139) 11.11.07 43 0
286419 옛날에 교회 수련회 가서 쪽팔렸던 썰txt ^0^갤로그로 이동합니다. 11.11.07 361 0
286417 ㅜㅜ 질문 똑바로 할게 제발 갈켜주라 [24] elwlwlwk갤로그로 이동합니다. 11.11.07 156 0
286416 뻐킹존뉴비가 질문하나만 여쭙겠사옵니다 [10] 닥회드(119.64) 11.11.07 140 0
286415 엑셀시작한지 1일되는데요 여기서 막히네요 [6] 갤로그로 이동합니다. 11.11.07 106 0
286414 난 가끔 공부하다가 모르는거 여기 물어보면 꼭 답글 병신맛 나더라 [7] 그걸(175.117) 11.11.07 85 0
286411 에이 잠이나 잘래 퇴갤 [2] 버틸수가없ㅋ다갤로그로 이동합니다. 11.11.07 27 0
286410 프갤성님들 API질문좀요 [5] 김 딜러(61.254) 11.11.07 37 0
286409 그러니까 문제는 static을 [11] elwlwlwk갤로그로 이동합니다. 11.11.07 127 0
286408 님들 저 증강현실 구현하는 과제 있는데 해주세요 [3] 그걸(175.117) 11.11.07 63 0
286407 어제 C로 매크로 프로세서 만들던놈인데 C#으로 바꿈 [2] Blazer사마갤로그로 이동합니다. 11.11.07 108 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2