帮助码友解决问题,从而复习了一下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的更多相关文章

  1. C语言atoi()函数:将字符串转换成int(整数)

    头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str); [函数说明]atoi ...

  2. Python使用函数实现把字符串转换成整数

    需求:假设Python没有提供内置函数int如果使用函数方式实现把一串字符串转换成整数例如把字符串‘12345‘转换成整数12345 思路 1,字符串也是序列可以使用map函数处理分割成一个列表 2, ...

  3. C#中服务端接受前端JSON字符串转换成字典集合

    我们是否可以把从前端接受的JSON字符串转换成字典集合呢? 比如从前端接收:{'size':'10', 'weight':'10kg'} 在服务端转换成:[{size:"10"}, ...

  4. json中把非json格式的字符串转换成json对象再转换成json字符串

    JSON.toJson(str).toString()假如key和value都是整数的时候,先转换成jsonObject对象,再转换成json字符串

  5. js字符串转换成数字与数字转换成字符串的实现方法

    转载:点击查看地址 js字符串转换成数字 将字符串转换成数字,得用到parseInt函数.parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt(' ...

  6. js字符串转换成数字,数字转换成字符串

    转自网络,忘记出处了. js字符串转换成数字 将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseIn ...

  7. 在lldb调试中调用c++函数

    在lldb调试时,调用oc对象的方法不足为奇,因为msgSend是有原型导出的,oc对象的方法都运行期绑定的,绑定信息都在objc_class中.只要在调试中[receiver sel]之类,lldb ...

  8. EC笔记,第二部分:9.不在构造、析构函数中调用虚函数

    9.不在构造.析构函数中调用虚函数 1.在构造函数和析构函数中调用虚函数会产生什么结果呢? #; } 上述程序会产生什么样的输出呢? 你一定会以为会输出: cls2 make cls2 delete ...

  9. 关于在C#中构造函数中调用虚函数的问题

    在C#中如果存在类的继承关系,应避免在构造函数中调用虚函数.这是由于C#的运行机制造成的,原因如下: 新建一个类实例时,C#会先初始化该类(对类变量赋值,并将函数记在函数表中),然后再初始化父类.构造 ...

随机推荐

  1. SpringBoot热部署(7)

    1.引入热部署依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...

  2. [源码解析] PyTorch 分布式(3) ----- DataParallel(下)

    [源码解析] PyTorch 分布式(3) ----- DataParallel(下) 目录 [源码解析] PyTorch 分布式(3) ----- DataParallel(下) 0x00 摘要 0 ...

  3. 菜鸡的Java笔记 - java 反射机制

    反射机制        1.观察 Class 类的使用        2.利用反射改善工程设计模式        3.反射操作类结构            content (内容)        1. ...

  4. Java将增加虚拟线程,挑战Go协程

    我们知道 Go 语言最大亮点之一就是原生支持并发,这得益于 Go 语言的协程机制.一个 go 语句就可以发起一个协程 (goroutin).协程本质上是一种用户态线程,它不需要操作系统来进行调度,而是 ...

  5. [hdu6715]算术

    首先要知道一个式子:$\mu(lcm(i,j))=\mu(i)\cdot \mu(j)\cdot \mu(gcd(i,j))$(分是否为0讨论)令$d=gcd(i,j)$,$n'=\lfloor n/ ...

  6. [bzoj1042]硬币购物

    先预处理出没有上限的方案数,然后容斥,然后将所有东西的范围都变为[0,+oo),即可用预处理出的dp数组计算 1 #include<bits/stdc++.h> 2 using names ...

  7. Python之浏览器的前进或后退

    import webbrowserwebbrowser.back() 后退webbrowser.forward() 前进

  8. java 单例模式实现代码

    目录 1.使用静态内部类实现 2.使用枚举实现 3.序列化与反序列化 1.使用静态内部类实现 使用静态内部类实现单例模式,线程安全 class SingletonStaticInner { priva ...

  9. 我在组内的Java问题排查分享

    前言 最近翻看以前写的 PPT, 发现了在2019年做的一次技术分享,关于 Java 问题排查,由于没什么公司机密可言,整理下分享给大家~ 线上问题处理流程 直接放PPT截图吧,现在看来依然不过时 问 ...

  10. 统计学习1:朴素贝叶斯模型(Numpy实现)

    模型 生成模型介绍 我们定义样本空间为\(\mathcal{X} \subseteq \mathbb{R}^n\),输出空间为\(\mathcal{Y} = \{c_1, c_2, ..., c_K\ ...