ファイルの入出力を行って文字を変換する
入力するファイルにa~zを記入しておき、
出力するファイルにaなら1、bなら2、zなら26に変換させたいのですがどうしたらよいでしょうか?
#include <stdio.h>
#include <string.h>
#define DELIMITER "/ ," /* 区切り文字 */
int main(void)
{
FILE *fin,*fout;
int count=0;
int i;
char s[256], s2[256];
char alpha[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int kazu[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26};
char *taken;
char *strch[50];
if( (fin=fopen("file1.txt","r"))==NULL) {
printf("入力ファイルがオープンできません\n");
exit(EXIT_FAILURE);
}
if( (fout=fopen("file2.txt","w"))==NULL) {
printf("出力ファイルがオープンできません\n");
exit(EXIT_FAILURE);
}
while(fgets(s,256,fin)!=NULL) {
while (token != NULL)
{
strch[count]=token;
token = strtok(NULL, DELIMITER);
count++;
}
memset(s2, NULL, sizeof(s2));
fprintf(fout,"%d\n",s2);
}
fclose(fin);
fclose(fout);
return 0;
}
お礼
回答ありがとうございます。 そうですね。考え方としてはファイル削除のほうがシンプルかもしれません。 やってみましたが、不具合現象は変わりませんでした。 どうもファイル削除やデータ消去と不具合は関係がなさそうです。