C나 C++이라면 없습니다.
공백으로 구분해서 (strtok_r 등등 ) 직접 써주거나 (strncpy)
혹은 문자열 함수 조합에 따라 여러가지 방법이 있겠군요.
제 생각에는 루프돌면서 공백이 나올때마다
이차원 배열을 증가시켜 주면서 한 바이트씩 입력하는게 쉬울것 같군요.
글쎄요... 단지 공백(whitespace)만으로 구분할 때는 strtok()을 쓸 필요도 없습니다.
C에서는 sscanf(), C++에서는 istream::opeartor<<()와 istringstream 만으로 충분하지요.
ANSI C++의 STL의 istream_iterator를 사용하면 루프를 사용할 필요없이
다음과 같이 함수 호출의 형태로 쓸 수도 있습니다.
파이썬보다 많이 복잡하지는 않죠. ^^;
없습니다
C나 C++이라면 없습니다.
공백으로 구분해서 (strtok_r 등등 ) 직접 써주거나 (strncpy)
혹은 문자열 함수 조합에 따라 여러가지 방법이 있겠군요.
제 생각에는 루프돌면서 공백이 나올때마다
이차원 배열을 증가시켜 주면서 한 바이트씩 입력하는게 쉬울것 같군요.
spam = "안녕 하세요. 저는 바보에요. ^^;".split(&qu
python에선 제목처럼 간단한데.. ㅋㅋ
c 라면 윗분말씀대로 루프돌리는게 작성도 쉽고 확장도 쉽고.. :)
[quote="errai"]C나 C++이라면 없습니다.공백으로 구
글쎄요... 단지 공백(whitespace)만으로 구분할 때는 strtok()을 쓸 필요도 없습니다.
C에서는 sscanf(), C++에서는 istream::opeartor<<()와 istringstream 만으로 충분하지요.
ANSI C++의 STL의 istream_iterator를 사용하면 루프를 사용할 필요없이
다음과 같이 함수 호출의 형태로 쓸 수도 있습니다.
파이썬보다 많이 복잡하지는 않죠. ^^;
음냐. 참고가 될련지?
음냐. 참고가 될까 해서 소스을 하나 붙입니다. 시간을 구해서...시간의 각각의
구별자가 스페이스이기 때문에 스페이스을 이용해서 나눈것의 예입니다.
여기서 주의해서 보아야 할것은 문자열의 마지막에 자동으로 들어가 있는 \n 이다.
\n 이 들어 가 있기 때문에 마지막의 | 는 \n 이 나온 이후에 출력이 되었다.
Java라면 StringTokenizer class를 쓰시면 됩니다.
Java라면 StringTokenizer class를 쓰시면 됩니다.
댓글 달기