Problem z funkcją getline w języku C

Problem z funkcją getline w języku C
Q1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Witam otóż, poniżej w kosoli wyskakuje mi błąd i od kilku godzin nie jestem w stanie stwierdzić czym jest spowodowany. Programuję w języku C. Będę wdzięczny za każdą pomoc. Pozdrawiam.
Tak wygląda kod:


Kopiuj
#include <stdio.h>
#include <stdlib.h>
using namespace std;

int main()
{
	long unsigned int rozmiar;
	int i,ile_znakow;  	
	char *zdanie;
	
	printf("Podaj dlugosc zdania=\n");
	scanf("%ld", &rozmiar);
	
	zdanie = (char *) malloc (rozmiar);
	ile_znakow = getline(&zdanie, &rozmiar, stdin);
}

a błąd który się pojawia to:
[Error] 'getline' was not declared in this scope

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5023
4

C i using namespace std?

elwis
  • Rejestracja: dni
  • Ostatnio: dni
4

Po pierwsze, zdecyduj się czy piszesz w C czy C++. :) Jak i na czym to kompilujesz? Zgodnie z man getline (https://linux.die.net/man/3/getline), to nie jest funkcja standardowa lecz GNU/POSIX. Jest też getline z C++ w <string>.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

Jeśli piszesz w C, to co to za "using namespace std"?

Q1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Racja kompletnie nie powinno tutaj być using namespace std; . Zdaje się, że skopiowałem schemat gdyż wcześniej pisałem coś w C++. Jednakże wciąż wyskakuje mi podobny błąd.

Q1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

@elwis: Bardzo dziękuję za link już wszystko jasne, problem rozwiązany !
Również dziękuję innym za pomoc, pozdrawiam.

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.