VBで全角文字の上位コードを取得するには?
今までC言語で以下のようなソースで動いていたプログラムがあります。
int main(void)
{
FILE *fp1;
char str1[]="ABCあ";
char str2[]="XXX";
fp1 = fopen("aaaa.txt", "w");
fprintf(fp1, "%-4.4s%3s\n",str1,str2);
fclose(fp1);
}
上のプログラムの実行結果は「ABC9XX」になります。
これは、printf関数で変数str1の4文字目が全角文字の「あ」であるのに
%-4.4sが指定されているため、「あ」の上位コードと
str2の1文字目のXの文字コードが連結されてしまい、
文字化けしてしまっているようです。
「ABCあ」の文字コード
A=41H, B=42H, C=43H, あ=82H,AOH
「XXX」の文字コード
X=58H, X=58H, X=58H
出力結果 ABC9XXの文字コード
A=41H, B=42H, C=43H, 9=82H,58H, X=58H X=58H
今回このプログラムをVBに置き換えることになったのですが、
出力されるデータは今までプログラムとまるで同じにしてほしい
(つまり、今まで文字化けしてるところは
文字化けした形で出力してほしい)の依頼があったため、
Format関数やLeftB関数を使って
なんとかプログラムを書いてみたのですが、
うまく動作しません。
うまい対処法があれば教えてください。
宜しくお願いします。
お礼
できました。ありがとうございます。 これでまた新しいバリエーションを作ることができます。ほんとうにありがとうございました