私は整数で構成される64x64行列を含むtxtファイルを大量に持っています。 txtファイルは、変数を宣言するためにループを使用することはできますか?
mat_1.txt、mat_2.txt、mat_3.txt、mat_4.txt、....、mat_n.txtのような名前を持っています。
私は変数を作成し、ホストとデバイスにスペースを割り当て、txtファイルを読み込んでデバイスにコピーする必要があります。 1回のループですべてを行うことは可能ですか?
私はsprintf
で文字列を作成する方法を知っていますが、この文字列を変数の宣言などに使用する方法はわかりません。
char fname[10];
for(int k=1; k<=n; k++)
{
sprintf(fname, "mat_%d", k);
int *fname; // how to say to compiler that insted of `fname` there
// should be `mat_1` and in next cycle `mat_2`?
}
あなたが提供しているコードスニペットは、intポインタ宣言を削除しても、あなたが望むものをすでに実行しています。 'fname'を最初に' 'mat_1 ''、2回目に '' mat_2 "' 'に更新します。 –
誰かがなぜこのようなことをしますか?動的変数名はスクリプト言語ではすでに混乱しています。誰もコンパイルされた言語でそれらを必要としません! @JoachimPileborg:彼は 'mat_X'という名前の変数を動的に作成したいと思うと思います。 – ThiefMaster
@ThiefMasterのようなものなら、それは不可能です。 Cにはこのような機能はありません。 –