C++;如何读取java.class文件 我在C++中编写了一个加密,目标是java .class文件。 我编写了一个示例代码来测试IO #include <iostream> using namespace std; #define Length 600 int main () { FILE* fp=fopen("a.class","r"); FILE* save=fopen("b.class","w"); while(!feof(fp)) { char a[Length]; fgets(a,Length,fp); fprintf(save,"%s",a); } return 0; } #包括 使用名称空间std; #定义长度600 int main(){ 文件*fp=fopen(“a.class”,“r”); 文件*save=fopen(“b.class”,“w”); 而(!feof(fp)) { 字符a[长度]; fgets(a,长度,fp); fprintf(保存,“%s”,a); } 返回0; }

C++;如何读取java.class文件 我在C++中编写了一个加密,目标是java .class文件。 我编写了一个示例代码来测试IO #include <iostream> using namespace std; #define Length 600 int main () { FILE* fp=fopen("a.class","r"); FILE* save=fopen("b.class","w"); while(!feof(fp)) { char a[Length]; fgets(a,Length,fp); fprintf(save,"%s",a); } return 0; } #包括 使用名称空间std; #定义长度600 int main(){ 文件*fp=fopen(“a.class”,“r”); 文件*save=fopen(“b.class”,“w”); 而(!feof(fp)) { 字符a[长度]; fgets(a,长度,fp); fprintf(保存,“%s”,a); } 返回0; },c++,C++,a、 在Sublime中,类看起来如下所示 宝贝咖啡馆0000 0034 0057 0700 0201 002a 7477 2f63 6f6d 2f6d 696e 6463 72616674 这是我的结果 Êþ¾/记录器;footerFormlogFormtmle.html/examples/notifications.htmlSourceFile 查看为什么代码>((fof)(FP))< /C>是错误的。从那开始。无论如何,从pcode.class文件中期望可打印数据有点乐观。我想.class

a、 在Sublime中,类看起来如下所示

宝贝咖啡馆0000 0034 0057 0700 0201 002a 7477 2f63 6f6d 2f6d 696e 6463 72616674

这是我的结果

Êþ¾/记录器;footerFormlogFormtmle.html/examples/notifications.htmlSourceFile


<如何在C++中正确读取?< /p>查看为什么<>代码>((fof)(FP))< /C>是错误的。从那开始。无论如何,从pcode.class文件中期望可打印数据有点乐观。我想
.class
文件是二进制文件吗?如果是这样,您应该以二进制模式打开读写文件。此外,为什么不使用C++COD> STD::FSturth而不是C++代码>文件*/COD>?除了标题(甚至不正确的一个,BTW)和使用名称空间STD的<代码>;代码>,这是纯C代码。如果你想写C++,使用C++机制。如果你想写C,不要写C++。在你的问题中,十六进制字符串的ASCII表示是:代码>4W*TW/COM/MyTrime</代码>。您应该更具体地说明您要实现的目标以及希望看到的输出。@Yksisarvinen谢谢。fstream有帮助。