for (int i=0; i < strlen(chars1); i++) {
//*buf=chars1[i];
NSLog(@"Received %c\n", chars1[i]);
ichar = [ NSString stringWithUTF8String:chars1[i] ];
NSLog(@"Received ", ichar);
counter=strlen(chars1)-i;
gnutls_record_send (session, [ichar UTF8String] , counter);
}
我正在尝试使用此方法将信息发送到我的服务器,但我不断收到警告:
警告:传递 'stringWithUTF8String:' 的参数 1 从整数生成指针而不进行强制转换
警告是针对这一行的: ichar = [ NSString stringWithUTF8String:chars1[i] ];
我是否可以将 chars1[i] 存储到临时字符或字符串中,并在我的循环中使用它进行发送?
更新
我只是在寻找一种从开始字符到结束解析 NSString 的方法,然后能够在不收到此警告的情况下使用它:
不用强制转换从整数生成指针
最佳答案
也许这就是你想要的。
NSString *unicodeString = [NSString stringWithUTF8String:chars1];
for (int i=0; i < [unicodeString length]; i++) {
NSString *ichar = [unicodeString substringWithRange:NSMakeRange(i, 1)];
NSLog(@"Received %@", ichar);
counter=strlen(chars1)-i;
gnutls_record_send (session, [ichar UTF8String] , counter);
}
这将在 chars1 中获取一个以 UTF-8 编码的字符串,并将每个字符的 UTF-8 编码(它本身可能是 1 个或几个字节)发送到 gnutls_record_send。
关于objective-c - 在 C 中使用 char,指针问题, Objective-C ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7844227/