我试图在我的代码中解决一个问题...我在C程序中是一个小小的新手,对不起,如果我不能很好地解释我的问题,但它是我第一次在stackoverflow上提出一个问题
所以我的程序中有这个代码:
typedef struct contact {
int iD;
int age;
char phone1[15];
char phone2[15];
char contactFirstName[20];
char contactLastName[20];
char contactCompany[30];
char contactAddress[40];
char contactCity[20];
char contactState[20];
char contactCountry[20];
char contactPostalCode[20];
char contactEmail[30];
char contactWeb[50];
}contact;
int lines=0;
void printArray(contact *array, int n);
char* sortFieldMenu();
char* sortTypeMenu();
void mainMenu();
char* searchFieldMenu();
contact* readFile(char*path);
int main(void){
system("play -n synth 0.1 sin 1880 | echo -e ""\a"" ");
char* filePath = "contact.csv";
contact* inArray = (readFile(filePath));
printf("\n Debug First Name: %p \n",inArray[1].age);
printf("Debug.......");
return 0;
}
contact* readFile(char *path){
int i, count;
char ch;
FILE* fp = fopen(path, "r");
if (fp == NULL) {
fprintf(stderr, "\n Erro ao abrir o ficheiro de !\n");
exit(1);
}
while(!feof(fp)){
ch = fgetc(fp);
if(ch == '\n'){
lines++;
}
}
printf("Number of Lines: %d \n", lines);
contact inArray[lines];
rewind(fp);
for(i=0;i<=lines-1;i++){
count++;
fscanf(fp, "%d,%[^,],%[^,],%d,%[^,],%[^,],%[^,],%[^,],%[^,],%,],%
[^,],%[^,],%[^,],%s\n", &inArray[i].iD,
inArray[i].contactFirstName,
inArray[i].contactLastName, &inArray[i].age,
inArray[i].contactCompany, inArray[i].contactAddress,
inArray[i].contactCity, inArray[i].contactState,
inArray[i].contactCountry,
inArray[i].contactPostalCode,
inArray[i].phone1,
inArray[i].phone2,inArray[i].contactEmail,
inArray[i].contactWeb);
}
printArray(inArray, lines);
fclose(fp);
return inArray;
}
我试图访问(打印)主函数上的inArray元素。我知道我不能从函数返回一个数组,只是指向该数组的指针。 主要目标是读取.csv文件并将数据放入一个结构数组(inArray)初始化该函数,并返回指向该数组的指针。
我试图在main函数中访问该数组,并打印一个元素(inArray [1] .age),但是出了点问题。
任何帮助都会被指定。