一段读取文件中字符串的代码是这样的:
while (!feof(fp))
{
fscanf(fp, "%s", ID);//ID的定义是char ID[10]
if (strcmp(ifo->ID, ID) == 0)
break;
}
实际执行过程中,在成功将字符串读入ID后文件指针的位置并没有指向字符串的末尾,而是指向了字符串中间随机的一个位置(字符串长度为6,在读取完字符串后文件指针有时指向4,有时指向5,有时指向6),请问这到底是怎么回事
âæ件æéâï¼å°±æ¯è¿ä¸ªä»£ç ä¸çfpï¼å®é
ä¸å¹¶ä¸æ¯æåæ件ä¸çå
·ä½ä½ç½®çï¼ä½ä»£ç æä½æ¶æå®å½ä½æåâå
·ä½ä½ç½®âæ¥å¯¹å¾
ãå®å®é
ä¸æ¯æå被æå¼çæ件信æ¯çç»æä½çï¼æ件å
·ä½ä½ç½®çæéå¨âæ件信æ¯ç»æä½âä¸å¦æ声æï¼è¿ä¸ªâæ件信æ¯ç»æä½âä¸çæé(ä¹å¯è½åªæ¯ä¸ªä½ç½®è®¡æ°å¨)ææç
§è¯»åå¤å°å符èåå移å¨ãåfscanf(fp, "%s", ID);è¿æ ·çè¯å¥é½æ¯æ¿fp说äºï¼fseekå½æ°æ´æ¯ç¨fpâä½ç§»å¨å¯¹è±¡âï¼æ以使人们产çäºè¯¯ä¼ï¼ä»¥ä¸ºfpç¡®å®æ¯éçæ件å稿æ读åè移å¨çï¼å®é
ä¸å®çå¼æ¯ä¸åçï¼å 为âæ件信æ¯ç»æä½âå¨å
åä¸çä½ç½®ä¸ä¼åå¨ãä½ é£éä¸ä¼å¿4ï¼ä¸ä¼å¿6å¯è½å¦æåå ï¼æªè§ä»£ç æä¸æ¶è¯´ä¸æ¸
â¦â¦ä¾åèã
温馨提示:答案为网友推荐,仅供参考