J'essaie de lire les fichiers .dat en tableau 2D, j'ai essayé de lire avec succès les mêmes fichiers dans des tableaux 1D tels que chaque ligne pour chaque tableau. Cependant, avec le code ci-dessous pour le tableau 2D, une boîte de message apparaît indiquant "Exception non gérée à 0x00B67361 dans ConsoleApplication11.exe: 0xC0000005: violation de l'accès, lecture de l'emplacement 0x00000000". .? Et ne termine pas l'exécution » Quelle est la raison de l'exception non gérée J'utilise VS 2012 Express EditionException non gérée à 0x00B67361
do {
char * s = find_data.cFileName;
ifstream fin;
fin.open(s); // open a file
if (!fin.good())
return 1; // exit if file not found
// read each line of the file
while (!fin.eof())
{
// read an entire line into memory
char buf[MAX_CHARS_PER_LINE];
int n = 0;
int s = 0;
int m = 0;
// array to store memory addresses of the tokens in buf
const char* token[MAX_TOKENS_PER_LINE][MAX_TOKENS_PER_LINE] = {}; // initialize to 0
for (m = 1; m < MAX_TOKENS_PER_LINE; m++)
{
fin.getline(buf, MAX_CHARS_PER_LINE);
// parse the line into blank-delimited tokens
// a for-loop index
//char* next_token[MAX_TOKENS_PER_LINE] = {}; // initialize to 0
char *next_token;
// parse the line
token[0][0] = strtok_s(buf, DELIMITER, &next_token); // first token
//token[0] = strtok(buf, DELIMITER); // first token
if (token[0][0]) // zero if line is blank
{
for (n = 1; n < MAX_TOKENS_PER_LINE; n++)
{
token[m][n] = strtok_s(0, DELIMITER, &next_token); // subsequent tokens
//token[n] = strtok(0, DELIMITER); // subsequent tokens
if (!token[m][n]) break; // no more tokens
}
}
}
// process (print) the tokens
for (int i = 0; i < n; i++) // n = #of tokens
for (int j = 0; j < m; j++)
{
cout << "Token[" << i << "," << j << "] = " << token[i][j] << endl;
cout << endl;
}
}
// Your code here
} while(FindNextFile(h, & find_data));
FindClose(h);
Ce titre ne va pas être utile à d'autres personnes ayant le même problème. Il est peu probable qu'ils aient une exception à 0x00B67361, et même s'ils l'ont fait, la raison est probablement différente. –