2012-05-14 6 views
0

내가 콜론으로 구분 된 문자열의 네 번째 필드를 잡아 것입니다 가능한 정보어떻게

sscanf(last, "%*[^:]:%*[^:]:%*[^:]:%127[^:]:", field_x); 

에 내 문자열을 분할하는 다음과 같은 사용이 코드에 대한 구분 기호로 공간을 사용할 수 있지만, 지금은 필요 공백으로 구분 된 문자열을 분할하는 데 사용하는 방법을 알고 있지만 콜론 대신 ""을 쓰는 것이 효과적이지 않으며 누군가가 할 수 있으면 \ t 작업으로 바꾸지 않았으므로 아무런 단서가 없습니다. 이 올바른 방향으로 나를 가리켜 줘서 고맙겠습니다. (strtok 예제도 보았습니다.하지만이 유형의 문자열 분리기가이 인스턴스에서 훨씬 쉽게 제어 할 수 있습니다.) 감사합니다! 당신이 믿는 것과는 반대로

+0

별로 대답을하지만, 당신은 대신 좋은 문자열 라이브러리를 사용하여 고려 했는가? [bstring] (http://bstring.sf.net/)과 같은 뭔가요? – plasma

+1

예를 들어서 출력해야한다고 생각합니다. –

+0

@ sr42 문자열 라이브러리는 끔찍하게 복잡 해지지 않고 이런 식으로 할 수 있습니까? 내가 분리해야하는 약 7-8 개의 다른 문자열이 있고, strtok과 같은 것으로 코드의 양은 엄청납니다 :/ – lacrosse1991

답변

2

sscanf(last, "%*[^ ] %*[^ ] %*[^ ] %127[^ ] ", field_x); 

은 참으로 does what you want

+0

감사합니다! 왜 내가 그것을 간과했는지 알지 못한다. 방금 공간 대신에 괄호 사이에 공백을 사용했다. – lacrosse1991