|
现在我有一个名为decihex.asm的文本,我想用C或者C++实现以下的功能:
将decihex.asm 中的类似于mov ah,1的语句在另一个名为output.txt的文本中变为fprintf(code,"mov ah,1");
请问如何实现?我已经做出了一部分,不过有几个问题不明白:
1。字符“应该怎么输出?
2。如何使linebuf中可产生适当的空格,即当它遇到行的结尾时,不会打印出来?
3。代码中fgets前面还有一个判断是不是文件结束的,但是我加入
if(!source)或者(source!=EOF)好像都不行,请问应该怎么判断?
请指点,谢谢。以下是我写的一部分代码,有不好的地方请批评指正:
#define BUFLEN 80
static char bufline[BUFLEN];
FILE *source;
FILE *listing;
int main()
{
char ch1 = ' " ';
char ch2 = ')' ;
char ch3 = ';';
if( (source=fopen("decihex.asm","r")) == NULL)
{
exit(1);
}
if( (listing = fopen("outfile.txt","w")) == NULL)
{
exit(0);
}
if(fgets(bufline,80,source) )
{
fprintf(listing,"%s %c %s %c %c %c \n", "fprintf(code,",ch1,bufline,ch1,ch2,ch3);
}
return 0;
} |
|