我正在调试我的程序,但在VS2010 cnt
中定义没有任何问题(相同的代码)。在VS2013中,cnt
是“未定义”,这将导致程序出现故障。知道为什么吗?
int
adin_file_read(SP16 *buf, int sampnum)
{
FILE *fp;
int cnt = 0; //nº de bytes lido numa evocação da função adin_file_read
fp = gfp;
//sum_samples --> nº total de bytes lidos
//global_size --> nº total de bytes do buffer de audio
//Se é um ficheiro wav
if (wav_p) {
cnt = fread(buf, sizeof(SP16), sampnum, fp);
if (cnt == 0) {
if (feof(fp)) return -1; /* EOF */
if (ferror(fp)) {
jlog("Error: adin_file: an error occured while reading file\n");
adin_file_close();
return -2; /* error */
}
}
if (nowlen + cnt > maxlen) {
cnt = maxlen - nowlen;
}
nowlen += cnt;
}
else { //Se é um RAW FILE
//AXY5
if (has_pre) {
int i;
has_pre = FALSE;
for (i = 0; i <= sampnum; i++){
if (i > global_size / sizeof(SP16)) {
cnt = i;
sum_samples = i;
break;
}
buf[i] = real_data[i];
}
if (cnt == 0) {
if (sum_samples > global_size / sizeof(SP16)){
return -1;
}
} (.....continue).. return cnt;