c 関数でランダムな 10 バイト長の文字列を生成し、目的の c から関数を呼び出す必要があります。そのため、uint8_t へのポインターを作成し、それを C 関数に渡しています。この関数はランダムなバイトを生成し、それらを *randomString に割り当てます。ただし、関数からobjective-cに戻った後、randomValueポインターはNULLを指します。
Cでの私のランダム関数は次のとおりです。
void randomString(uint8_t *randomString)
{
randomString = malloc(10);
char randomByte;
char i;
for (i = 0; i < 10; i++) {
srand((unsigned)time(NULL));
randomByte = (rand() % 255 ) + 1;
*randomString = randomByte;
randomString++;
}
}
ここにobjective-cの部分があります:
uint8_t *randomValue = NULL;
randomString(randomValue); //randomValue points to 0x000000
NSString *randomString = [[NSString alloc] initWithBytes:randomValue length:10 encoding:NSASCIIStringEncoding];
NSLog(@"Random string: %@", randomString);