Member 14684448 Ответов: 2

Как передать в функцию только одну переменную структуры?


я пытаюсь передать особое значение структуры.
ниже приведена структура
typedef struct msg_format
{
char *phone_number[MAX_FIELDS];
char *message[2];
}message_format;

и я пытаюсь передать сообщение value[1]; только одна переменная

Что я уже пробовал:

я пытался сделать это в коде.
int compare_with_whitelist_number(message_format storage1)
{
        int i,j=1;
        char temp[10];
         char value[20];
        for(i = 0; i < MAX_FIELDS; i++){
                while(j <= WHITELIST_NUMBER)
                {
                        sprintf(temp, "Number%d",j);
                        get_xml_content(FILE_NAME, PARENT_NODE ,temp,value);
                        if(storage1.phone_number[i] == value)
                        {
                                DEBUG("valid whitelist number:pointing to message\n");
                                check_with_message_format(storage1.message[i]);
                                return SUCCESS;

                        }

                        else
                                j++;
                }
        }
        return FAILURE;
}

это правильно или неправильно я не прошу подсказывать как передать это значение в функцию и как я могу получить это значение в операции функции
int check_with_message_format(?)<pre>

2 Ответов

Рейтинг:
0

KarstenK

Это очень легко сделать, обратившись к члену структуры. Совет используйте оператор & для того, чтобы не копировать структурную память.

int check_with_message_format(struct msg_format &input)

Сравнение ваших телефонных номеров не работает, используйте функцию strcmp ().


Рейтинг:
0

Shao Voon Wong

Попробуй

int check_with_message_format(char *message);
Согласно вашему фрагменту кода, ваш phone_number и член массива сообщений должны иметь одинаковое количество элементов.
typedef struct msg_format
{
    char *phone_number[MAX_FIELDS];
    char *message[MAX_FIELDS];
} message_format;