У меня огромное количество файлов txt, содержащих 64x64 матрицы, состоящие из целых чисел. txt-файлы имеют такие имена, как:Можно ли использовать цикл для объявления переменных?
mat_1.txt, mat_2.txt, mat_3.txt, mat_4.txt, ...., mat_n.txt.
Мне нужно создать переменную, выделить пространство на хосте и устройстве, прочитать txt-файл и скопировать на устройство. возможно ли это сделать в одном цикле?
Я знаю, как создать строку с 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" 'в первый раз,' mat_2 ''второй раз и т. Д. –
Зачем кому-то делать что-то подобное? Имена динамических переменных уже запутаны в языках сценариев, их никто не нуждается в компилируемых языках! @JoachimPileborg: Я думаю, что он хочет создавать переменные с именем 'mat_X' динамически – ThiefMaster
Если это похоже на @ThiefMaster, то нет, это невозможно. C не имеет таких функций, даже в библиотеке. –