2013-05-12 95 views
0

我试图扫描一个包含13个要存储在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 2013-05-12 11:23:04

+0

是的,在变量x中存储元素x :) – kensing 2013-05-12 11:44:10

+0

这不是一回事。您想要将变量[0]中的元素0,变量[1]中的元素2,变量[2]中的元素5等等存储起来? – Barmar 2013-05-12 11:59:25

回答

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

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