100·Ö Ö¸ÕëÎÊÌ⣺Access violation writing location
×¢£ºÁíÍâ50·ÖÔÚÁíÍâµÄÒ»¸öÌû×ÓÀï
ÎÒдÁËÒ»¸ö¶ÁÎļþµÄº¯Êý£¬ÀïÃæ»áÉæ¼°µ½Ò»Ð©Ö¸Õë´æ´¢Êý¾Ý£¬Õâ¸öº¯ÊýÄÚ²¿Ö´Ðе½×îºóûÎÊÌ⣬¿ÉÊÇÒ»³öÕâ¸öº¯Êý£¨Ó¦¸ÃÊÇÔÚÕâ¸öº¯ÊýÎö¹¹µÄʱºò£©ÎÊÌâ¾ÍÀ´ÁË
ÌáʾΪ£ºUnhandled exception at 0x104817fd (msvcp80d.dll) in xxx.exe: 0xC0000005: Access violation writing location 0x3534444e.
Éæ¼°µ½µÄÖ÷Òª´úÂëÈçÏ£º
C/C++ code:
void Parser::ParseDataFile(char *filename, Canopy *canopy)
{
FILE* file;
fopen_s(&file,filename, "r");
if (!file) // Open file
{
fprintf(stderr, "ParseDataFile() failed: can't open data file \"%s\".\n",
filename);
exit(1);
}
Maize* ptrTempMaize = NULL;
Leaf* ptrTempLeaf = NULL;
Stem* ptrTempStem = NULL;
char buf[255];
int tempLeafIndex = 0;
int tempMaizeIndex = -1;
int RECORD_DATA_NUM = 16;
string sTempdate;
string sTempBreedName;
int iTempNum;
int iTempLeafIndex[RECORD_DATA_NUM];
float fTempBaseHeight[RECORD_DATA_NUM];
int iTempDrapeNum[RECORD_DATA_NUM];
// ½øÐжÁÎļþ
while (fscanf(file, "%s", buf)!=EOF)
{
switch(buf[0])
{
case
Ïà¹ØÎÊ´ð£º
ÎÒÓÃAccessÊý¾Ý¿â×öÁËÒ»¸öͼÊéÊý¾Ý¿â£¬ÀïÃæÓÐÒ»¸ö×Ö¶ÎÊÇISBN£¬¾ÍÊÇISBNºÅ£¬µ«ÊÇÖ»µÄÒ»×Ü·ÖͼÊéдµÄISBNºÅ£¬ÓеÄûд£¬Ð´µÄÄÇÒ»²¿·ÖÓеÄISBNÊÇÖØ¸´µÄ£¬ÄÜ·ñÓÃSQLÓïÑÔ°ÑÖØ¸´µÄ¹ýÂ˵ô£¬µ«Ã»Ð´ISBNºÅµÄͼÊé²»ÄܹýÂ˵ô£¬È ......
ACCESSÊý¾Ý¿âÖÐÓÐÒ»¸ötablename±í£¬Éè¼ÆÈçÏÂ
±àºÅ,ÊéÃû,×÷Õß,³ö°æÊ±¼ä,³ö°æÉç,ISBN,Ŀ¼,¼ò½é
ÆäÖгý¡°±àºÅ¡±Îª×Ô¶¯±àºÅÍ⣬ÆäËü¶¼Îª¡°±¸×¢¡±
ÆäÖÐ"±àºÅ"άһ£¬ÔÚ¡°ISBN¡±ÖÐÓеÄΪ¿ÕÖµ£¬ ......
DbgridÁ¬½Óaccess ÏÔʾÊý¾ÝʱÍ϶¯¹ö¶¯ÌõËÀ»ú£¿Ôõô½â¾ö°¡£¿
»úÆ÷Ì«²îÁ˰ɣ¿
ÊDz»ÊÇÄãÊý¾ÝÁ¿Ì«´óÁ˰¡
ÄãÊý¾ÝÉÙһЩ¿´¿´»¹ËÀ»úÂð£¿
Êý¾ÝºÜÉÙ°¡ ¾ÍÒ»Ò³¡£
ÎÒÔÚBCB6ÏÂ×ö¹ý²»ÉÙ DBGRID+ACCESS £¬´ÓÀ´Ã»ÓÐÓöµ½ ......
Çë¸÷λָµãÏ£º³ÌÐò´úÂëÈçÏÂmingchen = "C:\Îļþ·¾¶\"
cat = New ADOX.Catalog
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & min ......