yskeyですどうもお世話になっています。m(_ _)m
先日、文章読み込みのことで質問させてもらいましたが、今度はcsvファイル読み込みのところで詰まってしまいました。
まだまだ、勉強不足です(;´Д`)
なるべく自己解決が望ましいので、CやC++の良い参考書があれば是非紹介してもらえないでしょうか。
(と言ってもあまり高いのは買えませんが)
開発環境はVC++でDxLib、OSはWinXpです。
今、龍神録第11章にあるエクセル読み込みを参考にしてcsvの文章を読み込もうとしています。
ソースコードは
char String[/url][512];
void load_story(int gyou){ //gyouに入れた数字のところの行を読み込む
int n,num,i,fp;
char fname[32]={"dat/sent/sent.csv"};
int input[512];
char inputc[512];
fp = FileRead_open(fname);//ファイル読み込み
if(fp == NULL){
MB("read error\n");
return;
}
for(i=0;i<gyou-1;i++)//gyou=読み込む行番号
while(FileRead_getc(fp)!='\n');
n=0 , num=0;
while(1){
for(i=0;i<512;i++){
inputc=input=FileRead_getc(fp);//1文字取得する
if(inputc=='/'){//スラッシュがあれば
while(FileRead_getc(fp)!='\n');//改行までループ
i=-1;//カウンタを最初に戻して
continue;
}
if(input=='\n' || input==EOF){//カンマか改行なら
inputc='\0';//そこまでを文字列とし
goto EXFILE;
}
}
}
strcpy(String,inputc);
EXFILE:
FileRead_close(fp);
}
これで実行すると
error C2664: 'strcpy' : 1 番目の引数を 'char [/url][512]' から 'char *' に変換できません。(新しい 機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
となります。なにがだめなのか今の知識ではさっぱりです・・・
グローバル関数Stringには、たとえば
String[/url][512]={
"文章",
"文章",
"文章",
};
のような形で文章をコピーしたいので(字下げとか改行とかの意味でなく)
CSVの中身は
"文章","文章","文章"
のような形でできています。
これらの上記のプログラムでコピー出来るのでしょうか?
また、inputc[512]を512個の配列として宣言しているとString[/url][512]の二次元配列には入らないような気がするんでうが。
もしかしてそれが原因なのでしょうか・・・
String[/url][512]に何とかcsvをコピーする方法はないでしょうか?
CSVファイル読み込みの方法
Re:CSVファイル読み込みの方法
ん~とりあえず詳細処理は置いといて・・・
strcpyの第一引数はchar*が正確ですのでString[0]とかになりますね。
それでひとまずエラーは消えるはずです。
strcpyの第一引数はchar*が正確ですのでString[0]とかになりますね。
それでひとまずエラーは消えるはずです。