Cast int en char tableau en C

Est possible de la convertir en int pour "string" dans C juste à l'aide de casting? Sans fonctions comme atoi() ou sprintf()?

Ce que je veux serait comme ceci:

int main(int argc, char *argv[]) {
    int i = 500;
    char c[4];

    c = (char)i;
    i = 0;
    i = (int)c;
}

La raison en est que j'ai besoin de générer deux aléatoire ints (de 0 à 500) et de l'envoyer à la fois comme une chaîne de caractères dans un message de la file d'attente à un autre processus. Les autres processus reçoit le message et faire le LCM.

Je sais comment le faire avec atoi() et itoa(). Mais mes professeurs veut simplement à l'aide de plâtre.

Aussi, pourquoi n'est-ce pas la suite possible de compiler?

typedef struct
{
    int x;
    int y;
} int_t;

typedef struct
{
    char x[sizeof(int)];
    char y[sizeof(int)];
} char_t;

int main(int argc, char *argv[])
{
    int_t rand_int;
    char_t rand_char;

    rand_int.x = (rand() % 501);
    rand_int.y = (rand() % 501);

    rand_char = (char_t)rand_int;
}
phrase-clé étant "mes professeurs veux", ce qui signifie tout ce qui suit est pour vous, pas pour nous de vous montrer. ~sourire~
Vous ne pouvez pas imaginer la quantité d'efforts, de temps et de recherche, j'ai gaspillé à essayer de le faire. Tout fonctionne bien, le casting ne marche pas.
Je répondrais que vous avez jamais perdu une seule seconde... vous avez fait exactement ce que les enseignants... vous avez passé beaucoup de temps à essayer de comprendre comment ne pas le faire. Et c'est incroyablement précieux en tant que programmeur.
Pouvez-vous partager la signature de la fonction de mise sur le message de la file d'attente? Cela sonne comme le noeud du problème.
Je comprends K Scott Piel. Donc, je peux vous dire que j'ai réalisé tout, mais la coulée de int en char de la matrice. Pouvez-vous svp m'aider? 🙂

OriginalL'auteur Bodosko | 2013-05-07