C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[62076] Re:C언어 ㅠ
Nibble [gameover] 1227 읽음    2010-08-05 01:17
스트링 토크나이져(strtok)가 대단한 일을 해 주는게 아닙니다.
결국 그녀석도 한 문자씩 처리하는 것이니까요.
잉잉잉잉이이이이이.. 라고 표현하신데서 느낌이 팍팍 오고 있습니다만...
말씀하신 문제는 한 문자씩 처리하는데서 오는게 아니라,
넘어온 문자열과 예전에 개행문자를 만나 처리하고 남은 문자열들에 대해 제대로 대처하지 못해
생기는 문제 같네요.
아울러, while 문 안의 조건이 다분 위험해 보입니다.
과연 최근에 받은 버퍼 안에 CR 이나 EOF 문자가 항상 있다는 보장이 있을까요?

김지은 님이 쓰신 글 :
: C언어로 프로그램을짜고있습니다
:

:
: 소켓프로그래밍중입니다.
:
: 받은 문자열이 'message[BUF_SIZE]' 라는곳으로 들어옵니다
:
: 그런데 문자열이 한줄씩이 아닌
:

:
: 가나다라마바사
:
: abcdefghijklmn
:
: 잉잉잉잉이이이이이..
:

:

:
: 이런식으로 들어옵니다
:
: ㅠㅠ 이렇게 뭉텅이로 들어온 문자열을 줄단위로
:
: 한줄씩 잘라서
:

:
: <ㅋ>가나다라마바사
:
: <ㅋ>abcdefghijklmn
:
: <ㅋ>잉잉잉잉이이이이이..
:

:
: 이런식으로 앞에 문자를 넣어서 출력되게 (바로바로) 하고싶습니다
:
: ㅠㅠ
:
: 그런데
:
: 문자하나씩 받아서 나눠서 해보니 자꾸 이상하게 쓰레기값이들어가거나
:
: 문자열이 첫째줄만 들어오거나합니다
:

:
: 그 부분을 보여드리자면
:

:
:  num=strlen(message);
:
:  // buff[BUF_SIZE]=NULL;
:   i=0;
:  // for(i=0;i<num;i++)
:  // {
:    ch=message[j];
:    while(ch!='\r'&& ch!=EOF)
:    {
:   
:     ch=message[j];
:     buff[k]=ch;
:   
:    
:    // ch=message[j];
:     j++;k++;
:   
:    }
:    buff[k]='\0';
:  
:    strcpy(message1,buff);
:   // strcpy(message2,RismData.ServerName);
:   // strcat(message2,",");
:   // strcat(message2,message1);
:   // strcat(message3,message2);
:      strcat(message3,_message);
:
:
:    i=j; k=0;

:
: // }*/
:

:
: 이렇게 한뒤
:
: message3 에
:
: 한줄씩 모은
:
: 예를 들면
:

:
: <ㅋ>가나다라마바사
:
: <ㅋ>abcdefghijklmn
:
: <ㅋ>잉잉잉잉이이이이이..
:

:
: 한줄씩 해서 저런모양이된것을 모읍니다
:
: 한뭉텅이씩 ㅜㅜ
:
: 그다음에 출력하려고합니다 .
:
: ㅠㅠ
:
: 방법이없을까요 ㅠ
:
: 저렇게 문자하나씩 받는방법말구요 휴
:
: strtok  쓰려고하는데 포인터로 어떻게 가르쳐야 할지 ㅠㅠ휴

+ -

관련 글 리스트
62071 C언어 ㅠ 김지은 1113 2010/08/04
62076     Re:C언어 ㅠ Nibble 1227 2010/08/05
62082         Re:Re:C언어 ㅠ 송신영 1146 2010/08/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.