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
[5851] Re:문장을 입력해서 출력할때의 질문이요.
박지훈.임프 [cbuilder] 2307 읽음    2001-03-03 09:09
전승호 님이 쓰신 글 :
:
: 문장에서 문장의 마지막에 엔터키의 표시 ('\n')나 나올때까지
: 문장을 받아들여 엔터키의 표시가 나오면 그중까지의 모
: 든 배열을 출력하는 프로그램을 만들어 보았습니다.
: 그런데 이상하게 자꾸 띄어쓰기가 있는곳에서 자꾸 배열의
: 출력이 끊기더군요.
: 문명 if문에서는 ('\n')까지 조사를 하기로 되어있었는데......
: 정말 궁금해요.
: 꼭좀 가르쳐 주세요.
: #include <iostream.h>
: void main()
: {
:     char a[100];
:     int i,j;
:     cout << "a문장은 = ";
:     cin >> a;
:     for(i=0; i<=99; ++i)
:     {
:         if (a[i]=='\n')
:         {
:             j=i;
:         }
:     }
:     for (i=0; i<=j ; ++i)
:     {
:         cout << a[i];
:     }
:     cout << '\n';
: }
:


임펠리테리입니다.

cin 은 공백(스페이스나 탭, 엔터 등)을 구분자로 인식하므로, 입력 중간에 스페이스가 들어가면 한 변수에 대해서 입력이 끝났다고 인식하게 됩니다. 만약 스페이스가 있어도 나누지 않고 엔터키 바로 전까지 모두 입력을 받고 싶다면 cin 대신 C 함수인 gets() 를 쓰든지 혹은 cin.getline()을 써야 합니다.

그럼 이만...

+ -

관련 글 리스트
5793 문장을 입력해서 출력할때의 질문이요. 전승호 2290 2001/02/28
5851     Re:문장을 입력해서 출력할때의 질문이요. 박지훈.임프 2307 2001/03/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.