string vs funkcja printf()

string vs funkcja printf()
P1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 12 lat
  • Postów:12
0
Kopiuj
#include <cstdio>
#include <iostream>

using namespace std;

int main()
{
    string imie;
    
    cout << "imie: ";
    cin >> imie;
    
    printf("%s", imie);
}

Wywala błąd: [Error] cannot pass objects of non-trivially-copyable type 'std::string {aka struct std::basic_string<char>}' through '...'

To na pewno trywialny problem, ale jak go nie rozwiążę, to praktycznie nic nie zrobię :) Proszę o pomoc.

edytowany 1x, ostatnio: paradise123
CN
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 9 lat
  • Postów:38
0

Po co ci ten printf? Po co mieszasz bibliotekę C++ z C?

Kopiuj
printf("%s", imie.c_str());
edytowany 2x, ostatnio: cnyk
Endrju
Biblioteka standardowa C jest częścią biblioteki standardowej C++.
0D
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 11 lat
  • Postów:60
0

A dlaczego tego napisu nie wyświetlisz poprzez cout, tylko mieszasz C z C++?

xeo545x39
A co napisał kolega wyżej??
0D
Nie było jego odpowiedzi jak pisałem tą wiadomość.
P1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 12 lat
  • Postów:12
0

Dzięki : )

Też wolałbym tej funkcji nie używać, ale na wykładach jest ona dosyć mocno akcentowana, więc, chcąc nie chcąc, muszę się z nią oswoić.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 9 godzin
0

tak dla poprawności, to brakuje #include <string>

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.