,& tTms.rsn,& tTms.sTime); if(ret!= 3)继续;
for(s = 0; s&lt; N; ++ s){ 如果(tmsMtx [s]的[tTms.sTime]。 TSN </跨度> ==’’){ tmsMtx [s] [tTms.sTime] = tTms; break 结构传输{ 烧焦 TSN </跨度> ; char rsn; int sTime; 传输;
//构造转换矩阵############################ 传输tTms
就像@chux和@wildplasser说的那样。这是因为你没有使用scanf解析新行:
int ret = fscanf(transmissionsFile, "%c %c %d\n", &tTms.tsn, &tTms.rsn, &tTms.sTime); if (ret != 3) { fprintf(stderr, "something wrong !!!\n"); continue; };
就像@wildplasser说的那样。你不应该使用 feof() 像那样 为什么 while(!feof(file)) 总是错的? 。
feof()
int ret; while ((ret = fscanf(transmissionsFile, "%c %c %d\n", &tTms.tsn, &tTms.rsn, &tTms.sTime)) == 3) { // Do what you want } if (ret != EOF || ferror(transmissionsFile)) { fprintf(stderr, "something wrong !!!\n"); };