strsep 으로 토큰을 나누는 메크로를 만들고싶습니다
글쓴이: gkgh / 작성시간: 화, 2013/05/28 - 2:36오후
#define paser(x){\
cPtr = strsep(&stringPtr,",");\
strcpy(StrArrPtr,stingPtr);\
StrArrPtr = StrArrPtr + 1;\
printf("%s",x);}를 사용해서 토큰을 나눠볼려고했는데 맘처럼 안나눠지네요
Struct logDB logarry[Max]
for(icount = 0; icount < logcount ;icount++)
{
fgets(string,sizeof(string),stream);
if (string == NULL){
break;
}
arryPtr = logarry[icount].code;
// srting token
StringPtr = string;
for(inum = 0 ; inum< Logcount ; inum ++){
paser(logarry[icount].code);
printf("%s",logarry[icount].code);이런식으로 짜 놓은 상태인데
log 구조체에 여러 DB들을 각각각각 code 부분에 토큰 한개 다른 부분들에 토큰들을 한개씩 넣고 싶어서
짜 놓은 겁니다.. 코드상에서 이상한점이나 문제점좀 찾아주세요..
저 메크로를 풀어서 사용하면 잘만되는데 define 으로 만들어 놓는 과정에서 참힘드네요...
코드 안에서 잘 돌아가던 코드는
strcpy(logarry[icount].code,cptr);
cptr = strsep(&StringPtr,",");
strcpy(logarry[icount].name,cPtr);
cPtr = strsep(&StringPtr,",");입니다.. c언어를 공부한지 얼마 되지않아서 루프를 돌리다가 실패를해서 일일이 하나하나
저장하는 위치를 적었지만 이번에는 배열포인터 + 1을 하면 포인터크기만큼 그 뒤에 자리 잡게되는걸
이용해볼려고했지만 맘처럼 쉽게 되지않네요
조언 부탁드립니다
Forums:


댓글 달기