ファイルから数値を取得して返す関数 getNum() があります。getNum() に戻ると、ポインターが失われ、ファイルの最初から再び開始されます。getc の場所を取得して、その場所に戻るにはどうすればよいのでしょうか。マニュアルやフォーラムでこれを行う方法を見つけることができませんでした。ありがとうございました。
#include <stdio.h>
#include <stdlib.h>
int getNum();
int getLine();
int getMatrix();
main() {
int num;
int two;
num = getNum();
printf("%d\n", num);
two = getNum();
printf("%d\n", two);
}
int getNum() {
FILE *infile;
infile = fopen("matrix.txt","r");
int c;
double value = 0;
while ((c=getc(infile)) != '\n') {
if(c==32){
if(value != 0){
return(value);
}
//otherwise keep getting characters
}
else if ((c<=47)||(c>=58)){
printf("incorrect number input %d\n", c);
exit(1);
}
else {
value = (10*value) + c - '0';
}
}
return(value);
}