2016-10-12 58 views
0

我想運行我的函數TestConnection(const char)併爲它設置我的標籤在目標c中的值。任何幫助將大大apprecitated我不斷收到此錯誤「不兼容的整數指針轉換髮送'字符爲鍵入‘爲const char * _Nonull’的參數在Xcode。如何在c中使用cons char函數設置客觀c標籤

這裏是我的C代碼

fucn.c

const char TestConnection(const char *ip) 
{ 
    //char ipAddr[] = "133.131.232.131"; 
    char *val = P(ip); 
    char *valb = "0packets"; 
    if(strcmp(val, valb) == 0) 
    { 
     printf("%s\n", "noconnection"); 
     //return "noconneciton"; 
    } 
    else 
    { 
     printf("%s\n", "connected"); 
     //return "connected"; 
    } 
    return *val; 
} 

func.h

#include <stdio.h> 
#include <sys/wait.h> 
#include <unistd.h> 
#include <string.h> 
#include <stdlib.h> 
#include <stdbool.h> 

const char TestConnection(const char *ip); 

目標C代碼Viewcont.m

- (void)checkconneciton:(NSString*)ip { 
    const char *ipc = [ip UTF8String]; 
    //TestConnection(ipc); 

    //below is the line with the error. 
    NSString* xx = [NSString stringWithUTF8String:TestConnection(ipc)]; 
    _ip_label.stringValue = xx; 

} 
+0

這是您正在使用的_exact_代碼嗎?可能會有一些錯誤拼寫。 (checkconneciton?) – ryyker

+1

'TestConnection'返回'const char','stringWithUTF8String'想'const char *'。 – Willeke

+0

你能演示我怎麼修復這個@Willeke – Snowman08

回答

1

TestConnection定義爲返回單個字符,而不是字符串。

它需要返回一個字符串 - const char * - 然後可以用它來初始化NSString