メモを取ってると半角全角が入り乱れるので、英数字だけ置換しちゃいたかった。
置換だけできればいいのでやっつけ仕事
henkan.c
#include <stdio.h>
int main( void ){
FILE *fp,*fpo;
char *fname = "hogehoge.txt";
char s[100];
unsigned char *p;
unsigned int moji;
fp = fopen( fname, "r" );
if( fp == NULL ){
printf( "no open ?n");
return -1;
}
fpo = fopen("hogehoge.dat","w");
while( fgets( s, 100, fp ) != NULL ){
for ( p = s ; *p != '\0' ; p += 2 ){
moji = (p[0] << 8) | p[1];
moji = _mbctombb( moji );
if((p[0]==130)&&(p[1]<=154)){
fprintf(fpo,"%c",moji);
}else if((p[0]<=127)) {
fprintf(fpo,"%c",p[0]);
p=p-1;
}else{
fprintf(fpo,"%c%c",p[0], p[1]);}
}
}
printf( "done ?n" );
fclose( fp );
fclose( fpo );
return 0;
}
ファイルのパスを直に書いてるあたりすごいやっつけ仕事だった