|
sscanf를 쓰면 문자열 검색할 필요 없이 매우 간단하게 짤 수 있을 것 같네요.
sscanf 사용법을 잘 찾아보세요.
-------
의사코드
-------
char *string = 원본문자열;
float first;
char plusminus;
int numreadchar;
재검색:
읽은갯수 = sscanf( string, "%c%f%n", &plusminus, &first, &numreadchar);
if( 읽은갯수가 3개인가? ) { 아니면 프로그램종료; }
else if( plusminus == '+' ) { 더하기관련처리; string += numreadchar; goto 재검색; }
else if( plusminus == '-' ) { 빼기관련처리; string += numreadchar; goto 재검색; }
else { 더하기도 빼기도 아니네? 프로그램종료; }
--------
휴먼 님이 쓰신 글 :
: 안녕하세요. BCB 초보입니다.
:
: 모듈로부터 값을 받아오는데요.
: 값이
: +01.002-00.111+00.321+01.432-01.543
: 이런식으로 들어옵니다.
:
: 그래서 문자열에서 "." 검색 후 "."의 위치를 int형 i 에 저장하고
: substring을 사용해 substring(i-3, i+3) 이런식으로 문자열 변수에 저장하려고 합니다.
:
: 문자열에서 검색을 하면 한번 검색을 하고 끝나게 되는데
: 어떻게 다른 방법은 없을까요?
: 답변 부탁드립니다.
|