我有这个代码
for(int i =0;i<file_num;i++) {
int rc =in_file(file_name[i],argv,1,argc);
if (rc ==0)
*eligible_file++ =file_name[i];
}
因此,在每次迭代之后,eligible_file被1向上推。是否有任何快速的方法可以将指针(在for_loop之后)返回到其原始状态(在for_loop之前),而不必将循环放入函数内部?
答案 0 :(得分:2)
<type> * tmp = eligible_file;
for(int i =0;i<file_num;i++){
int rc =in_file(file_name[i],argv,1,argc);
if (rc ==0)
*eligible_file++ =file_name[i];
}
eligible_file = tmp;
但是我建议改为:
<type> * tmp = eligible_file;
for(int i = 0, i<file_num;i++){
int rc =in_file(file_name[i],argv,1,argc);
if (rc ==0)
*tmp++ =file_name[i];
}