テキストファイルに「1800/2000/0/9999」と書かれていて9999の部分を別のテキストファイルに保存するといったプログラムを組んでいます.
元のテキストをa配列に入れて,テキストは「A/B/C/D」といった形式ですので"/"を3つカウントしてそれ以下をb配列に代入して,b配列をoutput.txtに保存する.といった流れをイメージした以下のプログラム組んだのですがうまく動作しません.
初心者なので皆様からみたらとてもおかしなことをしているかもしれませんが,どうかご教授よろしくお願いします.
#include <stdio.h>
#include <stdlib.h>
#define AA 128
char *count(char *a,char *b);
int main(void)
{
char a[AA],b[AA];
char *ss;
int k;
FILE *fp;
fp=fopen("input.txt","r");
fgets(a,AA,fp);
fclose(fp);
ss=count(a,b);
printf("%s\n", ss);
fp=fopen("output.txt","w");
fputs(b,fp);
printf("output.txtに書き込みしました");
fclose(fp);
return(0);
}
char *count(char *a,char *b){
int i,j;
i=0;
j=0;
while(a[i]!='\n'){
if(a[i]=='/')
j++;
i++;
if(j==3)break;
}
j=0;
while(a[i]!='\n'){
b[j]=a[i];
j++;
i++;
}
return(b);
}