我把%[^\n] 换成%c 过后再把staff.lname 加个& 后还是一样出现乱码 这次还会出现两次一样的数据 我只记录一次数据在文件里
把while的()中还是要改成原来的样子,你改成这样,在第一次进入while时并没有读文件,!feof函数判断将会出错,并将错误转嫁到最后。由于fscanf太长,写在while的()中不方便,建议写成while(1){fscanf....;printf(....;if(feof(stff)) break;。
追问这个是把while 换了之后跟%[^\n]换成%s 之后的output 这次并没有出现乱码 但是却出现重复性的数据 原本的数据到 qqq就停止了的 但是 qqq却去了下一行和重复了一次之前的数据
要把if(feof(stff)) break;放到fscanf(...后面,printf(...前面。是我追答成成printf...之后了……
追问换了之后还是一样 2 6 4 之后的数据也没有读取出来 然后gender那边会读取lname 空格之后的数据
把你的文件弄上来我写,怎么可能呢!