2008. 5. 25. 16:50 devel/man & example
String Parsing
string tmp; string str("Test string");
size_t found = str.find('i');
tmp.assign(str,0,found);
끝~
i 이후 부분은
tmp.assign(str,found,str.length()) 하면 됨미..
i를 제거 하고 싶으면 found + 1하면 되고
2
string에서 parsing 하기 , istringstream 에 관한 간단한 예시( 공백 파싱_ )
'string.h'에 정의된 strtok() 함수가 있습니다.
예제를 보자면
char string[] = "words separated by spaces -- and, punctuation!";
const char delimiters[] = " .,;:!-";
char *token;
token = strtok (string, delimiters); /* token => "words" */
token = strtok (NULL, delimiters); /* token => "separated" */
token = strtok (NULL, delimiters); /* token => "by" */
token = strtok (NULL, delimiters); /* token => "spaces" */
token = strtok (NULL, delimiters); /* token => "and" */
token = strtok (NULL, delimiters); /* token => "punctuation" */
token = strtok (NULL, delimiters); /* token => NULL */
위의 예제에서 delimiters[] 에 설정된 문자들이 구분자로 사용됨을 알수 있습니다.
공백문자마다 쪼개고 싶다면 delimiters[] = " " 라고 사용하시면 됩니다.
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
//istringstream::str
int main () {
int val,n;
istringstream iss;
string strvalues = "32 240 2 1450";
iss.str (strvalues);
for (n=0; n<4; n++)
{
iss >> val;
cout << val+1 << endl;
}
return 0;
}
'devel > man & example' 카테고리의 다른 글
scanf에서 fflush(stdin) 사용 안하고 \n 파싱해서 없애기 (2) | 2011.11.27 |
---|---|
function pointer (0) | 2009.11.24 |
sprintf int to ascii (0) | 2009.11.08 |
C++ , C File OUTPUT e.g. (0) | 2008.12.02 |
bit shift e.g. , 2dim matrix, Defed Func (0) | 2007.05.01 |