c언어 '=' 기준으로 문자열을 자르는 방법을 알고 싶습니다.

redfoxkiller의 이미지

파일로 두개의 문장을 받습니다.

1번 a=x+y

2번 b=z+1

이라는 식이 있으면 두개의 배열로 output[]배열에 {a},{b}을 널고 input배열에 {x,y},{z}넣으려고 하는데

'='왔을때 앞에 있는 것은 output배열에 저장하고 '='다음것은 input 배열에 넣는것을 어떻게 해야 할까요?

출력이

No. input Output

1. x,y a

2. z b

이렇게 입력을 파일로 받는것을 출력하는 하는것입니다.

여기에 제가 한 소스를 드리게 습니다.

#include "stdio.h"
#include "string.h"

#define TOKEN_LEN 10
#define MAX_LINES 100

void main()
{
FILE *fp;
char line[512];

char Temp[MAX_LINES*3][ TOKEN_LEN];
//char Temp2[MAX_LINES*3][ TOKEN_LEN];

char *pstr;
int i=0, count;

fp=fopen( "number.txt","r");


if(fp == NULL)

{

printf("file opening error\n");

return;

}


while( fgets(line,sizeof(line),fp) )
{
// 개행문자만 있는 라인은 처리하지 아니함
if( strcmp( line, "\n" )==0 )
continue;

pstr=strtok(line,"=");

while(pstr !=NULL)
{
if(pstr)
strcpy( Temp[i], pstr );
printf("%s", Temp[i++]);
pstr=strtok( NULL, "=");

}
}



count = i;
printf( " output input\n");
for( i = 0; i < count; i++ )
printf( " No.%s", Temp[i] );
printf( "\n");

fclose(fp);
}

이것을 출력하면

1. a 2. 3

3. b 4. 4

이렇게 출력이 입니다. 수정 부탁드립니다.