目前,我的程序在.txt文件中讀取時沒有問題,但我的程序需要讀取具有不同文件擴展名的文本文件(.emu是要求) 。當簡單地將相同文件的擴展名改爲.emu時,變量'file'爲NULL,因此該文件未打開,任何人都可以幫忙嗎?讀取.txt文件中的不同擴展名C
有大約一點觀察一下,一直沒能找到解決的辦法,所以任何的幫助深表感謝
這裏的源代碼:
void handleArgs (const char *filename, int trace, int before, int after) {
FILE *file = fopen(filename, "r");
char *address = malloc(MAX_ADD_LENGTH * sizeof(char));
char *instruction = malloc(MAX_INS_LENGTH * sizeof(char));
long int addressDecoded;
if (file == NULL || file == 0) {
fprintf(stderr, "Error: Could not open file");
}
else {
if (ferror(file) == 0) {
while (fscanf(file, "%s %s", address, instruction) != EOF) {
if (strlen(address) == 8 && strlen(instruction) == 8) {
addressDecoded = strtol(address, NULL, 16);
printf("%ld\n", addressDecoded);
//instruction = decodeInstruction(instruction);
}
else {
fprintf(stderr, "Error: particular line is of wrong length");
}
}
}
}
fclose(file);
}
參數「文件名」當執行時只是'/foopath/test.emu'
你可以發佈打開你的文件句柄的源代碼嗎? – 2011-04-04 19:49:39
你能發表一些代碼嗎?當你試圖打開它時,文件在那裏嗎?擴展對'fopen'沒有影響,所以肯定還有別的事情在進行 – rlc 2011-04-04 19:49:58
你的問題不是擴展。 – 2011-04-04 19:50:30