Cast von int zu char-array in C

Ist möglich, konvertieren int, "string" in C nur mit casting? Ohne Funktionen wie atoi() oder sprintf()?

Was ich wollen würde wie folgt Aussehen:

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

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

Der Grund ist, dass ich generieren müssen zwei zufällige Ganzzahlen (0 bis 500) und senden Sie beide als eine Zeichenfolge in einer Warteschlange zu einem anderen Prozess. Der zweite Prozess, der die Nachricht erhält und tun das LCM.

Ich weiß, wie man mit atoi() und itoa(). Aber mein Lehrer will nur mit Stimmen.

Auch, warum nicht auch die folgende Möglichkeit zu kompilieren?

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;
}
  • Schlüssel Satz, dass 'meine Lehrer wollen" - was bedeutet, dass alles danach ist für Sie, herauszufinden, für uns nicht, Sie zu zeigen. ~lächeln~
  • Sie kann sich vorstellen die Menge von Zeit, Mühe und Forschung, die ich verschwendet versuchen, das zu tun. Alles ist in Ordnung, nur der cast nicht funktioniert.
  • Ich würde die Zähler, die Sie haben verschwendet, nicht eine Sekunde... du hast genau das gemacht, was der Lehrer beabsichtigt... Sie haben eine Menge Zeit damit verbracht, herauszufinden, wie man es nicht machen. Und das ist unglaublich wertvoll, wie ein Programmierer.
  • Kannst du die Funktion Signatur, indem Sie es auf die message-queue? Das klingt wie der Kern des Problems.
  • Ich verstehe, K Scott Piel. Also ich kann Euch sagen ich habe alles erreicht, aber casting int zu char-array. Können Sie mir bitte helfen? 🙂
  • Auch, warum der zweite code, den ich gepostet nicht kompilieren?
  • möglich, Duplikat der Konvertieren integer zu string-ohne Zugriff auf Bibliotheken. Dies ist die #4 Treffer für itoa auf SO. Überrascht, dass Sie es verpasst.

InformationsquelleAutor Bodosko | 2013-05-07
Schreibe einen Kommentar