搜索文件名有的時候ch375Result會返回0x31錯誤碼,不知道什么原因,導(dǎo)致文件名與序號不能對上
for ( searchFileIndex = 0; searchFileIndex < 255; searchFileIndex++ ) /* 最多搜索前255個文件 */ { OS_ENTER_CRITICAL(); strcpy( (char *)mCmdParam.Open.mPathName, (char *)pCodeStr ); /* 搜索文件名,*為通配符,適用于所有文件或者子目錄 */ i = strlen( (char const *)mCmdParam.Open.mPathName ); /* 計算文件名長度,以處理文件名結(jié)束符 */ mCmdParam.Open.mPathName[ i ] = searchFileIndex; /* 根據(jù)字符串長度將結(jié)束符替換為搜索的序號,從0到255 */ ch375Result = CH375FileOpen( ); /* 打開文件,如果文件名中含有通配符*,則為搜索文件而不打開 */ OS_EXIT_CRITICAL(); if ( ch375Result == ERR_MISS_FILE ) break; /* 再也搜索不到匹配的文件,已經(jīng)沒有匹配的文件名 */ if ( ch375Result == ERR_FOUND_NAME ) /* 搜索到與通配符相匹配的文件名,文件名及其完整路徑在命令緩沖區(qū)中 */ { nameLen = strlen( (char const *)mCmdParam.Open.mPathName ); if(nameLen < 4) continue; pExt = ((char *)mCmdParam.Open.mPathName) + nameLen - 4; if(strcmp(pExt, (char *)".MP3") == 0 || strcmp(pExt, (char *)".WMA") == 0 ) { OS_ENTER_CRITICAL(); if(usb_scan_play_flag == 0) { usb_total_song_num++; } ch375Result = CH375FileOpen( ); /* 打開文件 */ OS_EXIT_CRITICAL(); if ( ch375Result != ERR_MISS_DIR && ch375Result != ERR_MISS_FILE ) { OS_ENTER_CRITICAL(); if(usb_scan_play_flag == 1) { for(i = 0; i < 15; i++) { usb_name_buf[i] = mCmdParam.Open.mPathName[i]; } } else { DROPDOWN_AddString(dropdown0_usb, (const char*)mCmdParam.Open.mPathName);//添加文件名至下拉菜單 } OS_EXIT_CRITICAL(); } if(usb_scan_play_flag == 1) { OS_ENTER_CRITICAL(); usb_song_count_temp--; OS_EXIT_CRITICAL(); if(usb_song_count_temp == 0) { return 99; } } }
} else /* 出錯 */ { TEXT_SetText(text5_usb, "讀取失敗"); return 99; }文字