string vs funkcja printf()

string vs funkcja printf()
P1
  • Rejestracja: dni
  • Ostatnio: dni
  • 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.

CN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

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

Kopiuj
printf("%s", imie.c_str());
0D
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
0

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

P1
  • Rejestracja: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
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.