导航:首页 > 源码编译 > 反编译oc代码

反编译oc代码

发布时间:2022-03-01 19:41:07

① 怎么样用oc去编写学生成绩管理系统,最好有代码,还有注释

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<queue>
#include<stack>
#include<cmath>
usingnamespacestd;

/*定义学生结构体*/

structStudent

{

charID[20];

charName[20];

floatMark1;

floatMark2;

floatMark3;

floatAverage;

};


/*声明学生数组及学生数量*/

structStudentstudents[1000];

intnum=0;/*求平均值*/

floatAvg(structStudentstu)

{

return(stu.Mark1+stu.Mark2+stu.Mark3)/3;

}/*通过学号返回数组下标*/

intStudent_SearchByIndex(charid[])

{

inti;

for(i=0;i<num;i++)

{

if(strcmp(students[i].ID,id)==0)

{

returni;

}

}

return-1;

}/*通过姓名返回数组下标*/

intStudent_SearchByName(charname[])

{

inti;

for(i=0;i<num;i++)

{

if(strcmp(students[i].Name,name)==0)

{

returni;

}

}

return-1;

}/*显示单条学生记录*/

voidStudent_DisplaySingle(intindex)

{

printf("%10s%10s%8s%8s%8s%10s ","学号","姓名","成绩","成绩","成绩","平均成绩");

printf("------------------------------------------------------------- ");

printf("%10s%10s%8.2f%8.2f%8.2f%10.2f ",students[index].ID,students[index].Name,

students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Average);

}/*插入学生信息*/

voidStudent_Insert()

{

while(1)

{

printf("请输入学号:");

scanf("%s",&students[num].ID);

getchar();printf("请输入姓名:");

scanf("%s",&students[num].Name);

getchar();printf("请输入成绩:");

scanf("%f",&students[num].Mark1);

getchar();printf("请输入成绩:");

scanf("%f",&students[num].Mark2);

getchar();printf("请输入成绩:");

scanf("%f",&students[num].Mark3);

getchar();students[num].Average=Avg(students[num]);

num++;printf("是否继续?(y/n)");

if(getchar()=='n')

{

break;

}

}}/*修改学生信息*/

voidStudent_Modify()

{

//floatmark1,mark2,mark3;

while(1)

{

charid[20];

intindex;

printf("请输入要修改的学生的学号:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

if(index==-1)

{

printf("学生不存在! ");

}

else

{

printf("你要修改的学生信息为: ");

Student_DisplaySingle(index);

printf("--请输入新值-- ");


printf("请输入学号:");

scanf("%s",&students[index].ID);

getchar();


printf("请输入姓名:");

scanf("%s",&students[index].Name);

getchar();


printf("请输入成绩:");

scanf("%f",&students[index].Mark1);

getchar();


printf("请输入成绩:");

scanf("%f",&students[index].Mark2);

getchar();


printf("请输入成绩:");

scanf("%f",&students[index].Mark3);

getchar();


students[index].Average=Avg(students[index]);

}

printf("是否继续?(y/n)");

if(getchar()=='n')

{

break;

}

}

}/*删除学生信息*/

voidStudent_Delete()

{

inti;

while(1)

{

charid[20];

intindex;

printf("请输入要删除的学生的学号:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

if(index==-1)

{

printf("学生不存在! ");

}

else

{

printf("你要删除的学生信息为: ");

Student_DisplaySingle(index);

printf("是否真的要删除?(y/n)");

if(getchar()=='y')

{

for(i=index;i<num-1;i++)

{

students[i]=students[i+1];//把后边的对象都向前移动

}

num--;

}

getchar();

}

printf("是否继续?(y/n)");

if(getchar()=='n')

{

break;

}

}

}/*按姓名查询*/

voidStudent_Select()

{

while(1)

{

charname[20];

intindex;

printf("请输入要查询的学生的姓名:");

scanf("%s",&name);

getchar();

index=Student_SearchByName(name);

if(index==-1)

{

printf("学生不存在! ");

}

else

{

printf("你要查询的学生信息为: ");

Student_DisplaySingle(index);

}

printf("是否继续?(y/n)");

if(getchar()=='n')

{

break;

}

}

}/*按平均值排序*/

voidStudent_SortByAverage()

{

inti,j;

structStudenttmp;

for(i=0;i<num;i++)

{

for(j=1;j<num-i;j++)

{

if(students[j-1].Average<students[j].Average)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}

}/*显示学生信息*/

voidStudent_Display()

{

inti;

printf("%10s%10s%8s%8s%8s%10s ","学号","姓名","成绩","成绩","成绩","平均成绩");

printf("------------------------------------------------------------- ");

for(i=0;i<num;i++)

{

printf("%10s%10s%8.2f%8.2f%8.2f%10.2f ",students[i].ID,students[i].Name,

students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average);

}

}/*将学生信息从文件读出*/

voidIO_ReadInfo()

{

FILE*fp;

inti;

if((fp=fopen("Database.txt","rb"))==NULL)

{

printf("不能打开文件! ");

return;

}

if(fread(&num,sizeof(int),1,fp)!=1)

{

num=-1;

}

else

{

for(i=0;i<num;i++)

{

fread(&students[i],sizeof(structStudent),1,fp);

}

}

fclose(fp);

}/*将学生信息写入文件*/

voidIO_WriteInfo()

{

FILE*fp;

inti;

if((fp=fopen("Database.txt","wb"))==NULL)

{

printf("不能打开文件! ");

return;

}

if(fwrite(&num,sizeof(int),1,fp)!=1)

{

printf("写入文件错误! ");

}

for(i=0;i<num;i++)

{

if(fwrite(&students[i],sizeof(structStudent),1,fp)!=1)

{

printf("写入文件错误! ");

}

}

fclose(fp);

}

/*主程序*/

voidmain()

{

intchoice;

IO_ReadInfo();

while(1)

{

/*主菜单*/

printf(" ------学生成绩管理系统------ ");

printf("1.增加学生记录 ");

printf("2.修改学生记录 ");

printf("3.删除学生记录 ");

printf("4.按姓名查询学生记录 ");

printf("5.按平均成绩排序 ");

printf("6.退出 ");

printf("请选择(1-6):");

scanf("%d",&choice);

getchar();

switch(choice)

{

case1:

Student_Insert();

break;

case2:

Student_Modify();

break;

case3:

Student_Delete();

break;

case4:

Student_Select();

break;

case5:

Student_SortByAverage();

Student_Display();

break;

case6:

exit(0);

break;

}

IO_WriteInfo();

}

}

② ios app客户端可以反编译

ipa 文件其实是一个压缩包,里面包括了可执行文件,资源文件等信息。 反编译的话也可以,只是你要有足够强的功底,就可以。这个至少汇编得会吧,然后可以根据反编译出来的汇编写出原来的OC程序。现在我没有发现有什么工具可以直接反编译出ELF文...

③ OC中怎样将UTF8编码转换成中文

Proct->Edit Schema->info->Debugger把LLDB修改成GDB就可以了。

④ 在新三板里有个835088.OC的股票代码,请问后缀OC代表什么

场外交易市场。

通过大量分散的像投资银行等证券经营机构的证券柜台和主要电讯设施买卖证券而形成的市场。有时也称作柜台交易市场或店头交易市场,它构成了债券交易市场的另一个重要部分。

就类别而论,在场外交易市场中进行买卖的证券,主要是国债,股票所占的比例很少。至于交易的各类债券,从交易额来看,主要以国债为主。

这些市场因为没有集中的统一交易制度和场所,因而把它们统称为场外交易市场,又称柜台交易或店头交易市场,指在交易所外由证券买卖双方当面议价成交的市场。它没有固定的场所,其交易主要利用电话、电报、传真及计算机网络进行,交易的证券以不在交易所上市的证券为主。

(4)反编译oc代码扩展阅读

股市的市场特点有以下:

1、有一定的市场流动性,但主要取决于当日交易量(交易量取决于投资人心理预期)。

2、股票市场只在纽约时间早上的9:30到下午4:00(中国市场为下午三点)开放,收市后的场外交易有限。

3、成本和佣金并不是太高适合一般投资人。

4、卖空股票受到政策(需要开办融资融券业务)和资本(约50万)的限制,很多交易者都为此感到沮丧。

5、完成交易的步骤较多,增加了执行误差和错误。

⑤ oc计算文件代码行数,设计到foundation(nsstring和nsarray)

首先,排除下文件路径的问题;

其次,你对NSString的+stringWithContentsOfFile:usedEncoding:error:这个方法的用法理解有误,问题应该出在这儿。


关于+stringWithContentsOfFile:usedEncoding:error:这个方法,第一个参数没问题,问题看第二个参数,看下文档,对这个方法的描述是“Returns a string created by reading data from the file at a given path and returns by reference the encoding used to interpret the file. This method attempts to determine the encoding of the file at path.”,也就是说这个方法会自己去判断这个文件是用什么方式进行编码的,而且根据文档来看第二个参数不是让你输入一个编码方式,而是要你输入一个编码方式变量的地址,然后方法会通过引用的方式返回它所采用的编码方式。其实第三个参数也挺重要的,一般用来判断出了什么错误。直接看代码吧,下面的代码是对你的codeLineCount的方法的改正,你可以参考下。


intcodeLineCount(NSString*filePath)
{
NSError*err=nil;
NSStringEncodingfileEncoding;
NSString*fileContent=[:filePathusedEncoding:&fileEncodingerror:&err];
NSArray*rows=[:@" "];
if(err){
NSLog(@"codeLineCounterror:%@",err.localizedDescription);
}
returnrows.count;
}

⑥ oc怎么在代码中读取plist文件

innodb_log_file_size = 500M #事物日志大小
#innodb_log_file_size =100M
innodb_log_files_in_group = 2 #两组事物日志
innodb_log_group_home_dir = /longxibendi/mysql/mysql/var/#日志组

⑦ iOS 的 framework 和 ipa 文件可以反编译出源码

ipa 文件其实是一个压缩包,里面包括了可执行文件,资源文件等信息。
反编译的话也可以,只是你要有足够强的功底,就可以。这个至少汇编得会吧,然后可以根据反编译出来的汇编写出原来的OC程序。现在我没有发现有什么工具可以直接反编译出ELF文件的。
框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。

⑧ oc代码怎么转换成swift代码运行

自己手动转换,还有一个方法是你可以创建一个oc文件,把oc代码放在这个文件里,然后在xxxxx-Bridging-Header.h文件里引用这个oc文件就行了

⑨ 如何将oc代码转换成运行时代码

1.打开终端 ,输入cd 切换到我们当前项目所在目录

2.然后ls -l 看一下当前目录下面的文件

3.然后输入命令:clang -rewrite-objc main.m 然后回车你会看到如下画面

4.这个时候我们再次输入 ls -l 查看我们当前目录下的文件 你会发现多了一个main.cpp文件 实际是c++代码 也就是说main.m底层是转换成了c++代码

5.我们再次输入open main.cpp 打开这个文件看看 里面就是运行时代码

6.我们来到文件末尾 找到main函数

⑩ 把oc代码翻译成swift

CGSize textSize = [self.text sizeWithAttributes:@{NSFontAttributeName : self.font}];
CGRect textRect = (CGRect){0, 0, textSize};

阅读全文

与反编译oc代码相关的资料

热点内容
程序员考试考什么科目 浏览:483
程序员必备文档编辑 浏览:958
踩水果解压大全 浏览:632
什么是dk服务器在 浏览:459
nusoapphp下载 浏览:927
黑莓原生解压rar 浏览:954
百度解压缩在哪 浏览:786
硬解压卡怎么用 浏览:181
新买的联想服务器怎么配置 浏览:755
mc命令方块的代码 浏览:650
服务器老打不开怎么办 浏览:254
单片机智能仪器 浏览:706
别告诉我你会记笔记pdf 浏览:159
一套谷歌51浏览器易源码 浏览:378
unix安装命令 浏览:57
cephmonitor源码 浏览:439
单片机的硬件结构重点 浏览:557
地铁逃生用什么服务器最好 浏览:930
租用云服务器怎么样 浏览:440
app上诉通讯录有什么后果 浏览:515