치환 하는 것 자체가 목적인지라 분리 구현은 생략했고요.
책에 있는대로 똑같이 따라해보려다가 조금 더 넣어볼까 해서 char str[100]; 을 추가했던거고,
이에 입력을 넣어두려니 입력스트림에 대한 개념이 부족해서 시행착오가 있었네요.
마침표 설정은 뺐고, iss()함수에 배열을 인자로 받아서 새로 작성했습니다.
#include <iostream>
#include <cctype>
using namespace std;
void iss(char str[]);
int main()
{
char str[100];
cout << \"읽어들인 문장에서 모든 공백 문자들을 \'-\' 문자로 대체합니다.\\n\";
cout << \"문장 입력: \";
cin.getline(str, 100);
cout << endl;
cout << \"대체된 문장은 다음과 같습니다.\" << endl;
iss(str);
cout << endl;
cout << \"------------------------\\n\";
cout << \"끝\" << endl;
return 0;
}
void iss(char str[])
{
for(int i=0; i < strlen(str); i++)
{
if(isspace(str[i]))
cout << \'-\';
else
cout << str[i];
}
}
http://ideone.com/BR9ku
기능을 구분하라는건 자료와 알고리즘의 분리에 익숙치 않으면 STL 활용을 하기가 어려워서 그런건데, 뭐 isspace 사용법만 알고 싶은거였으면 됐다