我使用Jasmin和Yacc编写了一个Java字节码程序,我想使用fprintf函数将 "ldc"\"%s\n"\"\n "写入一个.j文件中,但生成的文件总是缺少新行。例如,在.j文件中,"ldc "会被这样表示。
fprintf (fp,"ldc \"%s \\n\"\n",$6.val.get_char);
在.j文件中会这样表示。
ldc "Hello" (no newline character \n added)
("Hello "是由$6.val.get_char得到的相应字符串)我怎样才能解决这个问题? 谢谢!
编辑:我已经发现了这个问题,所以现在问题已经解决了。非常感谢@Rohan Bari的帮助!
编辑2:解决方法原来和我之前做的完全一样,所以下面的代码。
fprintf (fp,"ldc \"%s\\n\"\n",$6.val.get_char);
已经是正确的了,问题只是出在了其他地方。不过,还是要感谢大家的帮助!
如果你做一些像这样的事情。
char text[] = "Hello";
fprintf(fp, "ldc \"%s\\n\"", text);
它输出到文件中
ldc "Hello\n"