0
我想解析一個文件,並且出現奇怪的分段錯誤。這是我使用的代碼:處理文件時出現奇怪的分割錯誤
#include <iostream>
using namespace std;
int main()
{
FILE *the_file;
the_file = fopen("the_file.txt","r");
if (the_file == NULL)
{
cout << "Error opening file.\n";
return 1;
}
int position = 0;
while (!feof(the_file))
{
unsigned char *byte1;
unsigned char *byte2;
unsigned char *byte3;
int current_position = position;
fread(byte1, 1, 1, the_file);
}
}
我用命令
g++ -Wall -o parse_file parse_file.cpp
編譯它,如果我刪除行while循環聲明CURRENT_POSITION,代碼運行沒有問題。我也可以將這個聲明移到unsigned char指針的聲明之上,代碼將會毫無問題地運行。爲什麼它在該處的聲明有問題?