fscanf 不检索任何值
fscanf does not retrieve any value
我有一个包含 Space 个分隔值的文件
例如:
6028 5 6
9813 2 10
10249 7 8
10478 8 8
10479 3 2
10516 6 3
10519 9 10
10525 3 7
10606 6 1
10611 6 9
10632 1 6
10638 9 4
而且我无法使用以下代码将它们检索到变量中:
#include <stdio.h>
#include <stdlib.h>
void ReadVector(int V[], int *N);
int CalcularAprovados(int V[], int N);
void ReadVector(int V[], int *N){
FILE *f;
f = fopen("dados4.txt", "r");
if (f == NULL){
printf("Error");
}
int nAluno, nTeste, nTrab;
while(fscanf(f, "%d%d%d\n", &nAluno, &nTeste, &nTrab) == EOF){
//fscanf(f, "%d %d %d", &nAluno, &nTeste, &nTrab);
printf("%d %d %d\n", nAluno, nTeste, nTrab);
}
fclose(f);
}
int main(){
int *V, N=0;
ReadVector(&V[0], &N);
}
和
int nAluno, nTeste, nTrab;
while(fscanf(f, "%d%d%d\n", &nAluno, &nTeste, &nTrab) == EOF){
//fscanf(f, "%d %d %d", &nAluno, &nTeste, &nTrab);
printf("%d %d %d\n", nAluno, nTeste, nTrab);
}
不起作用我希望它更新变量内容,直到它到达文件末尾。
检查错误。应该是:
int status;
while((status = fscanf(f, "%d%d%d\n", &nAluno, &nTeste, &nTrab)) > 0) {
if (status == 3) {
printf("%d %d %d\n", nAluno, nTeste, nTrab);
}
}
我有一个包含 Space 个分隔值的文件 例如:
6028 5 6
9813 2 10
10249 7 8
10478 8 8
10479 3 2
10516 6 3
10519 9 10
10525 3 7
10606 6 1
10611 6 9
10632 1 6
10638 9 4
而且我无法使用以下代码将它们检索到变量中:
#include <stdio.h>
#include <stdlib.h>
void ReadVector(int V[], int *N);
int CalcularAprovados(int V[], int N);
void ReadVector(int V[], int *N){
FILE *f;
f = fopen("dados4.txt", "r");
if (f == NULL){
printf("Error");
}
int nAluno, nTeste, nTrab;
while(fscanf(f, "%d%d%d\n", &nAluno, &nTeste, &nTrab) == EOF){
//fscanf(f, "%d %d %d", &nAluno, &nTeste, &nTrab);
printf("%d %d %d\n", nAluno, nTeste, nTrab);
}
fclose(f);
}
int main(){
int *V, N=0;
ReadVector(&V[0], &N);
}
和
int nAluno, nTeste, nTrab;
while(fscanf(f, "%d%d%d\n", &nAluno, &nTeste, &nTrab) == EOF){
//fscanf(f, "%d %d %d", &nAluno, &nTeste, &nTrab);
printf("%d %d %d\n", nAluno, nTeste, nTrab);
}
不起作用我希望它更新变量内容,直到它到达文件末尾。
检查错误。应该是:
int status;
while((status = fscanf(f, "%d%d%d\n", &nAluno, &nTeste, &nTrab)) > 0) {
if (status == 3) {
printf("%d %d %d\n", nAluno, nTeste, nTrab);
}
}