2013-05-12 2 views
0

Я пытаюсь отсканировать файл, содержащий 13 ints, которые должны быть сохранены в 13 переменных. Есть ли способ зациклиться на этом, пропуская i-й элемент? Я предвидя там может быть решение, которое до сих пор ускользал от меня, возможно, похожий на приведенный ниже код:c: пропустить элемент с scanf

int i; 
for (i = 0; i < 13; i++) 
    fscanf(file, %d, &variables[i]); // somehow apply i to %d 

вместо очевидных, но длительных и нечистых:

fscanf(file, %d, &variable1); 
fscanf(file, %*d, %d, &variable2); 
fscanf(file, %*d %*d, %d, &variable3); // etc 

благодаря

+0

Вы хотите прочитать элемент, пропустить 1 элемент, прочитать элемент, пропустить 2 элемента, прочитать элемент, пропустить 3 элемента и так далее? – Barmar

+0

Да, элемент хранения x в переменной x :) – kensing

+0

Это не то же самое. Вы хотите сохранить элемент 0 в переменной [0], элемент 2 в переменной [1], элемент 5 в переменной [2] и так далее? – Barmar

ответ

1
int *variables[] = { &variable1, &variable2, &variable3, ... }; 

for (int i = 0; i < 13; i++) { 
    fscanf(file, "%d", variables[i]); 
}