oc中调用c函数 实现将字符串转换成unsigned char
帮助码友解决问题,从而复习了一下oc中调用c函数的方式
1,新建c 头文件 test.h

定义 c 函数
#ifndef test_h
#define test_h void verification(unsigned char INPUT[], unsigned int OUTPUT[]); #endif /* test_h */
2,新建 c 实现文件,新建模板选中 c File test.c
3.实现函数
//
// test.c #include <stdio.h>
#include "test.h"
#define N 10 void verification(unsigned char INPUT[], unsigned int OUTPUT[]) {
//第一步
unsigned char *A = INPUT;
//第二步
unsigned int S[N] = {0};
for(int i = 0; i < N; ++i) {
S[i] = A[i]*A[i];
}
//第三步
unsigned int P[N] = {0};
for(int i = 0; i < N; ++i) {
P[i] = S[i] * (6+i);
}
//第四步
int E = 0;
for(int i = 0; i <= 6; ++i) {
E += P[i];
} OUTPUT[0] = (unsigned int)E&0XFFFF;
OUTPUT[1] = P[7]&0XFFFF;
OUTPUT[2] = P[8]&0XFFFF;
OUTPUT[3] = P[9]&0XFFFF;
}
4,oc 中调用,引用 c 头文件 test.h
#import "ViewController.h"
#import "test.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; [self verificationWithNumber:@"M201476052"];
} -(NSString *)verificationWithNumber:(NSString *)Number{ unsigned char css[10]; memcpy(css, [Number cStringUsingEncoding:NSASCIIStringEncoding], [Number length]); unsigned int OUTPUT[4]; verification(css,OUTPUT); NSMutableArray *ary = [NSMutableArray array]; for(int i = 0; i< 4; ++i) { [ary addObject:[NSString stringWithFormat:@"%04X", OUTPUT[i]]];
} NSString *str = [ary componentsJoinedByString:@"-"]; NSLog(@"str = %@", str); return str;
} @end
oc中调用c函数 实现将字符串转换成unsigned char的更多相关文章
- C语言atoi()函数:将字符串转换成int(整数)
头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str); [函数说明]atoi ...
- Python使用函数实现把字符串转换成整数
需求:假设Python没有提供内置函数int如果使用函数方式实现把一串字符串转换成整数例如把字符串‘12345‘转换成整数12345 思路 1,字符串也是序列可以使用map函数处理分割成一个列表 2, ...
- C#中服务端接受前端JSON字符串转换成字典集合
我们是否可以把从前端接受的JSON字符串转换成字典集合呢? 比如从前端接收:{'size':'10', 'weight':'10kg'} 在服务端转换成:[{size:"10"}, ...
- json中把非json格式的字符串转换成json对象再转换成json字符串
JSON.toJson(str).toString()假如key和value都是整数的时候,先转换成jsonObject对象,再转换成json字符串
- js字符串转换成数字与数字转换成字符串的实现方法
转载:点击查看地址 js字符串转换成数字 将字符串转换成数字,得用到parseInt函数.parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt(' ...
- js字符串转换成数字,数字转换成字符串
转自网络,忘记出处了. js字符串转换成数字 将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseIn ...
- 在lldb调试中调用c++函数
在lldb调试时,调用oc对象的方法不足为奇,因为msgSend是有原型导出的,oc对象的方法都运行期绑定的,绑定信息都在objc_class中.只要在调试中[receiver sel]之类,lldb ...
- EC笔记,第二部分:9.不在构造、析构函数中调用虚函数
9.不在构造.析构函数中调用虚函数 1.在构造函数和析构函数中调用虚函数会产生什么结果呢? #; } 上述程序会产生什么样的输出呢? 你一定会以为会输出: cls2 make cls2 delete ...
- 关于在C#中构造函数中调用虚函数的问题
在C#中如果存在类的继承关系,应避免在构造函数中调用虚函数.这是由于C#的运行机制造成的,原因如下: 新建一个类实例时,C#会先初始化该类(对类变量赋值,并将函数记在函数表中),然后再初始化父类.构造 ...
随机推荐
- Solon & Solon Cloud 1.5.62 发布,轻量级 Java 基础开发框架
Solon 已有120个生态扩展插件,此次更新主要为细节打磨,且对k8s和docker-compose更友好: 1.插件 solon.coud ,事件总线增加支持本地同主题多订阅模式(以支持同服务内, ...
- 暑假算法练习Day3
第三天!!!最近要开始归纳总结Python学习啦!! 1006 换个格式输出整数 (15 分) 让我们用字母 B 来表示"百".字母 S 表示"十",用 12. ...
- Databend 社区积极拥抱 Rust 生态(202111回顾)
Databend 旨在成为一个 开源.弹性.可靠 的无服务器数仓,查询快如闪电,与 弹性.简单.低成本 的云服务有机结合.数据云的构建,从未如此简单! Databend 对 Rust 社区的意义 Da ...
- Debug代码调试
Debug代码调试 第一步在代码左侧先点一个红点 第二步右键选择Debug运行 第三步点击Step Into按键分步进行 练习题: s2 = 'python python python python ...
- 分布式配置系统Apollo如何实时更新配置的?
引言 记得我们那时候刚开始学习Java的时候都只是一个单体项目,项目里面的配置基本都是写在项目里面的properties文件中,比如数据库配置啥的,各种逻辑开关,一旦这些配置修改了,还需要重启项目这修 ...
- 【Microsoft Azure 的1024种玩法】五、基于Azure Cloud Shell 一站式创建Linux VM
[文章简介] Azure Cloud Shell 是一个用于管理 Azure 资源的.可通过浏览器访问的交互式经验证 shell. 它使用户能够灵活选择最适合自己工作方式的 shell 体验,无论是 ...
- littlevgl架构浅析
一. littlevgl有几个线程,作用是什么? 三个,主线程一个,和在主线程的hal_init函数中创建的另两个sdl线程. 主线程完成一系列初始化工作后,循环每10ms调用在lv_init函数 ...
- 智能 Request 推荐,K8s 资源利用率提升 252%
作者 王孝威,FinOps 认证从业者,腾讯云容器服务产品经理,热衷于为客户提供高效的 Kubernetes 使用方式,为客户极致降本增效服务. 余宇飞,FinOps 认证从业者,腾讯云专家工程师,从 ...
- Java 中的监控与管理原理概述
点赞再看,动力无限.Hello world : ) 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 程序猿阿朗博客 已经收录,有很多知识点和系列文章. 当前 ...
- 【2020五校联考NOIP #3】序列
题面传送门 原题题号:Codeforces Gym 101821B 题意: 给出一个排列 \(p\),要你找出一个最长上升子序列(LIS)和一个最长下降子序列(LDS),满足它们没有公共元素.或告知无 ...