Preciso construir uma tabela de índices utilizando ponteiros, mas encontrei um erro de compilação que não consigo resolver.
A mensagem de erro é:
request for member ‘cod_cliente’ in something not a structure or union.
O erro aparece na linha:
[color=darkred]cod_cliente[i] = pc.cod_cliente;[/color]
Estou utilizando o Dev C++ 4.9.9. Segue parte do código…
typedef struct{
char cod_cliente[7];
char nome[40];
char fone[15];
} clientes;
void IndiceClientes(clientes *pc, FILE *arq_c) {
int quant=0, i;
char *aux;
arq_c = fopen("clientes.asr","rb");
while(!feof(arq_c)) {
fread(&pc,sizeof(clientes),1,arq_c);
quant++;
}
fclose(arq_c);
char cod_cliente[quant][7];
char *pcod_cliente[quant];
arq_c = fopen("clientes.asr","rb");
i=0;
while(!feof(arq_c)){
fread(&pc,sizeof(clientes),1,arq_c);
cod_cliente[i] = pc.cod_cliente;
i++;
}
fclose(arq_c);
for(i=0; i<quant; i++) {
if (*pcod_cliente[i] > *pcod_cliente[i+1]){
aux = pcod_cliente[i];
pcod_cliente[i] = pcod_cliente[i+1];
pcod_cliente[i+1] = aux;
}
}
}