0
아래 코드는 두 개의 문자열 연결을 연결하기 위해이 프로그램을 만들었지 만 연결 한 후 첫 번째 단어를 표시하지 않습니다 ..... 나는 cin에 누락 된 것이 있다고 생각합니다. .ignore() 친절하게 확인하고 도와주세요 ??? 이 프로그램에연결 후 첫 번째 문자가 표시되지 않습니다
#include "stdafx.h"
#include<iostream>
#include <stdio.h>
#include <string>
#define MAX 100
using namespace std;
void main()
{
char str[MAX],abc[MAX];
cout<<"\nEnter the string 1";
cin.ignore();
cin.get(str,MAX);
cout<<"\nEnter The String 2";
cin.ignore();
cin.get(abc,MAX);
cout<<"\nS1="<<str;
cout<<"\ns2="<<abc;
strcat(str,abc);
cout<<"\nStrings after catenation are"<<str;
system("pause");
}
오류는 그 연결 첫 글자는이 라인 cin.ignore();
에 표시되지 후. 또 다른 오류는 다른 문자로 결과를 저장하고자한다는 것입니다. 하지만 컴파일러에서 오류가 발생합니다.
사용자가 Enter를 눌렀을 때 개행을 시도 했습니까? 왜 그런지 모르겠지만, 그렇다면 그는 질서 정연하다. 물론, C++을 작성한 지 15 년이 되었기 때문에 벗어날 수 있었지만 그게 다라고 생각합니다. –
하지만 cin.ignore를 사용하지 않을 때는 에러가 발생합니다. – Niazi
@Niazi - Eric이 말했듯이,'ignore'를 사용하여 전에가 아닌'get' 이후에 줄 바꿈을 건너 뛰십시오. –