所以,這是竊聽我迄今爲止章異常在Parser.exe在(ntdll.dll中)拋出:訪問衝突讀取位置
void CNCread(fPointer){
printf("\n");
fPointer = fopen ("CNCG.txt", "r");
char line[30];
while(!feof(fPointer)){
fgets(line, 150, fPointer);
puts(line);
}
fclose (fPointer);
return;
}
我得到的編譯,運行和執行後,下面的錯誤此功能:
在Parser.exe中0x00007FFCA1DEEAC5(ntdll.dll)引發的異常:0xC0000005:訪問衝突讀取位置0xFFFFFFFFFFFFFFFF。
我剛剛將這個項目從Code :: Blocks轉換爲Visual Studio 2015,添加了legacy_stdio_definitions.lib等等,所以這也不是問題,但代碼可以在code :: blocks中正常工作。 感謝大家提前。
'炭線[30]' - '與fgets(線,150 ...' - 嘗試東西10磅土豆到5磅袋 – PaulMcKenzie
的明顯的錯誤是,你的字符數組是?如果行大於30個字符,會導致未定義的行爲,但可能還有其他問題,因此請發佈[mcve]。另外,我不確定是否使用Visual Studio編譯了此實際代碼 - VS 2015'C '編譯器仍然是C89/90標準,你不能在函數塊中間聲明變量 – PaulMcKenzie
@PaulMcKenzie:那是不正確的,VS已經C89很長時間了,現在幾乎所有的C99但tgmath.h和複雜。是的,它包括聲明混合代碼。 – librik