Page 1 of 1

Récupérer la valeur de Ans en C

PostPosted: 21 Sep 2023, 15:15
by Bobb
Bonjour,
Comment puis-récupérer la valeur de Ans dans un char*, si c'est une chaîne de caractères ?

Re: Récupérer la valeur de Ans en C

PostPosted: 21 Sep 2023, 15:51
by Hamza.S
Bonjour,

pour mon projet j'utilise ce code suivant :

Code: Select all
#include <fileioc.h>

static unsigned char* trim(const unsigned char* input, unsigned input_len, unsigned* trimmed_len) {
    unsigned i, trim_index = 0;
    unsigned char* trimmed;

    *trimmed_len = 0;

    for (i = 0; i < input_len; i++) {
        if (input[i] != OS_TOK_SPACE)
            (*trimmed_len)++;
    }

    trimmed = calloc(*trimmed_len + 1, sizeof(char));

    for (i = 0; i < input_len; i++) {
        if (input[i] != OS_TOK_SPACE)
            trimmed[trim_index++] = input[i];
    }

    return trimmed;
}

static unsigned char* read_ans_tokens(size_t* ans_len) {
    uint8_t type;
    string_t* ans = os_GetAnsData(&type); // récupération de Ans
    if (ans == NULL || type != OS_TYPE_STR) {
        *ans_len = 0;
        return NULL;
    }
    return trim((const unsigned char*)ans->data, ans->len, ans_len);
}

int main(void)
{
    unsigned char* str_in = NULL;
    unsigned ans_len = 0;

    str_in = read_ans_tokens(&ans_len);
    if (!str_in)
    {
        os_ClrHome();
        os_PutStrFull("Remplir Rep. d'abord");
        os_NewLine();
        while (!(os_GetCSC()));
        return 1;
    }


    return 0;
}


ce code fonctionne avec les tokens de la TI si jamais tu dois faire du parsing.

Re: Récupérer la valeur de Ans en C

PostPosted: 21 Sep 2023, 16:54
by Bobb
Merci