Почему я получаю эту ошибку в C? несовместимые типы - PullRequest
0 голосов
/ 26 января 2012

15: 9: ошибка: несовместимые типы при назначении типу 'char [3]' из типа 'char * ’

#include <stdio.h>


int main(int argc, char *argv[])
{

     char servIP[3];
     int servPortNum;
     if(argc<3)
     {
         printf("Usage: clientApp servIP servPortNum\n");
     }

     servIP = argv[1];
     servPortNum = atoi(*argv[2]);


}

Ответы [ 4 ]

2 голосов
/ 26 января 2012
strncpy (servIP, argv [1], sizeof (servIP) - 1);
servIP [sizeof (servIP) - 1] = 0;

Но вы уверены, что servIP достаточно большой для IP-адреса?

1 голос
/ 26 января 2012

Вы не можете назначать массивы. Используйте функцию strcpy или strncpy для копирования строки в массив char.

0 голосов
/ 26 января 2012

Вы не можете назначить такой массив. Назначьте его для каждого члена или используйте вместо него char *servIP.

0 голосов
/ 26 января 2012

servIP - это массив, а не указатель.Массивы преобразуются в указатели, но это не одно и то же, и указатели не преобразуются в массивы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...