objective-c - 在 C 中使用 char,指针问题, Objective-C

标签 objective-c c pointers char

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/

相关文章:

ios - 每次 Plist 文件都会被覆盖

ios - .plist 替代 setIdleTimer

c - 如何修复C中的 ‘memory leak’

c++ - clSetKernelArg 抛出 EXC_BAD_ACCESS

c - 为指针及其数据分配的内存在哪里?

c++ - 我可以使用 C++ 中的指针分配特定的内存地址吗?

c++ - 结构中的数组,指针 [C++ 初学者]

iOS 8 Swift 1.2 和 Parse - 尝试在 View 不在窗口层次结构中的 ViewController 上呈现 UIAlertController

c - FCFS 调度代码中的段错误

objective-c - 重新加载 View