エラー:エラー:' getline(FILE *&、std :: string&) 'の呼び出しで一致する関数がありません
void CarregarArquivo(){
aluno alunos_auxiliar[MAX];
FILE *arquivo;
arquivo=fopen ("texto.txt","r");
int quantidade=0;
fscanf(arquivo,"%d",&quantidade);
if(quantidade!=0){
quantusuario=quantidade;
for(int i=0;i<quantidade;i++){
getline(arquivo,alunos[i].nome);
fscanf(arquivo,"%d",&alunos[i].matricula);
printf("%d",alunos[i].matricula);
fscanf(arquivo,"%d/%d/%d",&alunos[i].nascimento.dia,&alunos[i].nascimento.mes,&alunos[i].nascimento.ano);
if(alunos[i].numero!=0){
for(int j=0;j<alunos[i].numero;j++){
getline(arquivo,alunos[i].materias[j].nome);
fscanf(arquivo,"%.1f",&alunos[i].materias[j].nota);
}
}
}
}
else if(quantidade == 0 && arquivo == NULL){
quantusuario =0;
}
fclose(arquivo);
}
含む:
registro.hは、そこに構造体を有する:
struct aluno{
string nome;
int numero;
int matricula;
data nascimento;
disciplina materias[10];
};
含まれています
#include"registros.h"
#define MAX 100
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include"funcoes.h"
#include <fstream>
#include<string>
getlineの仕事してください。
私はブラジル人です。変数名を無視してください。私の英語は残念です。
FILEを使用しないという選択肢がある場合、FILEを使用せずにC++タイプを使用することを選択します。しかし、私は渡して言うことが可能ですファイル*をstd :: streambuf([ここ](http://stackoverflow.com/questions/4151504/wrapping-file-with-custom-stdostreamを参照してください) )。 –