看来你是要做一个程序代码格式化类似的程序,最近忙着考试复习,我就不帮你写了,说一下我的思路吧,希望对你有用:
先定义一个变量(如NUM,初值为0)用来记录{的数量和另一个变量(如FLAG)用来记录上一次读文件是否读到空格(0表示上一次不是空格,1表示是空格,初值为0),然后用fgetc()从文件中不停地读字符,如果是除{和空格以外的字符直接用fputc()写到文件中去;如果是空格,若FLAG=1则读下一个字符;反之则先将FLAG=1,然后输出一个空格到文件中去,在后来的循环中如果读入字符还是空格则直接写下一个直到不是空格为止,将FLAG=0,继续输出其它的字符;如果读到{则先用一个循环输出num个Tab,然后num++;如果遇到}则也先输出num个Tab,然后NUM--;
大概思路就是这样了。