_wfopenを使ってfopenと同じようなことがしたいと思い、以下のようなプログラムを組んだのですが、
うまく動いてくれません。どこがおかしいのでしょうか。よろしくお願いします。
#include <stdio.h>
#include <tchar.h> //_wfopenを使用するため
#include <Windows.h> //TEXTマクロが使いたかったため
int main (){
int a;
int tX[10];
FILE *filehandle;
for(int i=0;i<10;i++) //初期化をしておく
tX[i]=i+1;
filehandle = _wfopen(TEXT("testfile.tst"),TEXT("wb")); //書き込むファイルを開く
if(filehandle==NULL){
printf("ファイルをひらけませんでした\n");
return -1; //開けなかったら終了
}
else
printf("ファイルをひらけました\n");
fwrite( &tX[5] , sizeof( int ) , 1 , filehandle ); //書き込む(生成されるファイルの容量が0なのでおそらく書き込めていない)
fclose( filehandle ) ; //ファイルを閉じる
for(int i=0;i<10;i++) //配列の値をすべて0にしておく
tX[i]=0;
filehandle = _wfopen(TEXT("testfile.tst"),TEXT("rb")); //再びファイルを開く
if(filehandle==NULL){
printf("ファイルをひらけませんでした\n");
return -1;
}
else
printf("ファイルをひらけました\n");
fread( &tX[5] , sizeof( int ) , 1 , filehandle ); //読み込む(なぜか不定値で書き換えられている)
fclose( filehandle ) ;
printf("tX[5]==%d\n",&tX[5]); //tX[5]==6となってほしい
scanf("%d",&a); //結果が見れないので一応scanfで止めてある。
return 0;
}