#include<stdio.h>
#include<windows.h>
#define N 5000
void encoding(char *);
//void decoding(char *);
int main(void)
{
 int c;
 FILE *fp=fopen("RLE.txt", "w");
 char array[N]={0, };
 printf("입력\n");
 scanf("%s",array);
 
 fprintf(fp, "%s", array);

 printf("인코딩합니다.\n");
 fclose(fp);
 encoding(array);
 Sleep(5000);
 return 0;
}

void encoding(char rle[N])
{
 
 FILE *efp=fopen("encoding.txt", "w");
 char encode[N], cnt=1, idx=0;
 int i;

 for(i=0; i<N; i++)
  {
   
   if(rle[i]=='NULL')
   {
    printf("Finish\n");
    break;
   }

   if(rle[i]!=rle[i+1])
   {
    encode[idx]=cnt;
    encode[idx+1]=rle[i];
    cnt=1;
    printf("%d%c\n", encode[idx], encode[idx+1]);
    fputc(encode[idx],efp);
    fputc(encode[idx+1],efp);
    
    idx+=2;
   }
   else
    cnt++;
 }
 printf("%s", encode);
 fclose(efp);

}


RLE압축파일을 만들고있어.. 예를들면 AAABBBCCC가 입력되면 3A3B3C가 입력되게하는거야

근데 encoding함수에서 encoding.txt파일에 이걸 옮겨야하는데

if문 안에 print는 제대로 나오거든 ㅜㅜ 근데 텍스트파일에 들어갈때 이상한 문자가 들어가

원래 fputc로 한건아니고 fprintf도 써보고 별지랄을 다해봤는데도 제대로 안들어가는데 어떻게하지..

텍스트파일에 숫자+문자가 있는 배열을넣을땐 다르게해야하는거야??

알려조 형들