134 votes

Comment convertir une chaîne de caractères en tableau de caractères en C++ ?

Je voudrais convertir string a char mais pas char* . Je sais comment convertir une chaîne de caractères en char* (en utilisant malloc ou la façon dont je l'ai affiché dans mon code) - mais ce n'est pas ce que je veux. Je veux simplement convertir string a char[size] l'array. Est-ce possible ?

#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;

int main()
{
    // char to string
    char tab[4];
    tab[0] = 'c';
    tab[1] = 'a';
    tab[2] = 't';
    tab[3] = '\0';
    string tmp(tab);
    cout << tmp << "\n";

    // string to char* - but thats not what I want

    char *c = const_cast<char*>(tmp.c_str());
    cout << c << "\n";

    //string to char
    char tab2[1024];
    // ?

    return 0;
}

-1voto

SquircKle Points 1

Je sais que c'est peut-être un peu stupide que et simple, mais je pense que ça devrait fonctionner :

string n;
cin>> n;
char b[200];
for (int i = 0; i < sizeof(n); i++)
{
    b[i] = n[i];
    cout<< b[i]<< " ";
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X