環境はVC++2010とDXライブラリです
// FileHandling.h
#ifndef FE_FILEHANDLING_H
#define FE_FILEHANDLING_H
#include <stdio.h>
#include "common.h"
/********************************************************************************
*Class FileHandling
*ファイルを取り扱う
*メソッドはファイルのパスと読み込み結果を格納するものを引数としてもらい
*ファイルの読み込みと格納を行う
*********************************************************************************/
class FileHandling{
public:
// ファイルの読み込み
void File_read( const char *FileName, VECTOR *Array[] );
};
#endif // FE_FILEHANDLING_H
// FileHandling.cpp
#include "FileHandling.h"
#pragma warning( disable : 4996 )
/********************************************************************************
*FileHandling::File_read
*空白、カンマ区切りのテキストファイルを読み込む
*戻り値:なし
*引数: const char *FileName ( ファイルのパス )
* VECTOR *Array[] ( ファイルの内容を格納する配列:VECTOR型 )
*********************************************************************************/
void FileHandling::File_read( const char *FileName, VECTOR *Array[] ){
FILE* fp; // ファイルポインタ変数
float x = 0; // X座標格納変数
float y = 0; // Y座標格納変数
float z = 0; // Z座標格納変数
int i = 0; // 配列の添え字
// ファイルを取得
fp = fopen(FileName, "r");
// 取得したファイルが無ければ
if( fp == NULL ){
// メッセージ表示
MessageBox( NULL, "ファイル読み込み失敗", "DXライブラリ" , MB_OK );
}
// ファイルの終端まで調べる
while( fscanf(fp, "%f %f %f", x, y, z) != EOF ){
// ファイルから得た値を格納
Array[i]->x = (float)x;
Array[i]->y = (float)y;
Array[i]->z = (float)z;
// 配列の添え字を進める
i++;
}
// ファイルの解放
fclose(fp);
}
// main.cpp
int main(){
VECTOR FileData_EnemyPos[]; // ファイルから読み込んだデータの格納配列
FileHandling fileHandling; // FileHandlingクラス(ファイルを取り扱いを行う)
fileHandling.File_read( "EnemyPos_Data.txt", FileData_EnemyPos ); // Error
}
やりたいこととしては関数に配列のアドレスとファイルパスを渡すとファイルパスのファイルを読み込んで引数で
もらった配列のアドレスをもとに実引数の配列” VECTOR FileData_EnemyPos[];”に値が格納されるという
仕組みです
同じVECTOR型の変数では出来たのですがやはり配列は勝手が違うようです
どのようにすればよいか教えていただけると助かります