从.txt C读取
我在使用C语言时遇到了一些麻烦..
我有一个文件txt与表单中的各种行:
F 65 S 4 1 139.56 3704.26
和我的计划:
p = fopen("dados.txt", "r"); if ( p == NULL) { printf("\n\nNao foi possivel abrir o arquivo.\n"); exit(1); }else{ while ( !feof(p) ){ fscanf(p,"%c %d %c %d %d %f %f", &sexo,&idade,&estadoCivil,&numFilhos,&freq,&mediaGasto,&mediaSalarial); printf("%c %d %c %d %d %f %f\n", sexo,idade,estadoCivil,numFilhos,freq,mediaGasto,mediaSalarial); }
回报是:
看起来不好……
如果我将fscanf:%c更改为%f
回报是:
看起来很棒,但变量idade总是0 ……:S
wtf我必须做什么?
您必须在scanf
调用中添加换行符:
fscanf(p,"%c %d %c %d %d %f %f\n", &sexo,&idade,&estadoCivil,&numFilhos,&freq,&mediaGasto,&mediaSalarial);
如果没有scanf
的换行符,第一行将是正确的,但是以下行将输入中的换行符分配给sexo
。