我是新來的C.我讀了一個文件,然後從那個文件中,我得到另一個文件的名稱,我需要再次閱讀。我將文件的名稱存儲在結構中,但是當我從結構中傳遞文件名時,它顯示錯誤。該程序編譯沒有錯誤,但顯示段錯誤:11如何在fopen()中傳遞一個struct成員作爲參數?
struct InfoConf {
char log[20], file_path[20], log_path[30], ver[10];
};
int main(){
struct InfoConf configfile;
char *str9 = "File Path";
char line[255];
FILE *fp;
fp = fopen("config_1.conf","r");
while(fgets(line, sizeof(line), fp) != NULL){
char* val1 = strtok(line, ":");
char* val2 = strtok(NULL, ":");
if(strcmp(str9, val1) == 0){
strcpy(configfile.file_path, val2);
}
}
FILE *fp1;
fp1 = fopen(configfile.file_path, "r");
if(fp1 == NULL){
perror("Error in opening Meta-data file: "); //Error in opening Meta-data file: : No such file or directory
}
}
的第一項任務'configfile.file_path = 「testFile.mdf」'不會編譯,無論是語法和語義錯誤。 – CiaPan
我實際上使用了strcpy(),請查看更新後的版本。同樣的錯誤。 – IOstream
仍然沒有編譯。而不可編譯的代碼肯定不會工作。請顯示_actual_代碼段。 – CiaPan