Может кто-нибудь сказать мне, что я делаю неправильно здесь, я получаю сообщение об ошибке, когда getline() не объявлен в этой области ......... любая помощь будет оценена по достоинству.getline() function error in C++ code
нет функции соответствия для вызова GetLine (символ **, size_t *, FILE * &)
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
char *s;
int main(int argc, char *argv[])
{
FILE* fd = fopen("input.txt", "r");
if(fd == NULL)
{
fputs("Unable to open input.txt\n", stderr);
exit(EXIT_FAILURE);
}
size_t length = 0;
ssize_t read;
const char* backup;
while ((read = getline(&s, &length, fd)) > 0)
{
backup = s;
if (A() && *s == '\n')
{
printf("%sis in the language\n", backup);
}
else
{
fprintf(stderr, "%sis not in the language\n", backup);
}
}
fclose(fd);
return 0;
}
's' является объявлено ... где? И 'getline' не объявляет себя. Включите ваш '# include' список с вашим кодом. Я предполагаю, что вы пытаетесь использовать ['getline'] (http://man7.org/linux/man-pages/man3/getline.3.html) из POSIX-библиотек, верно? – WhozCraig
folks Я только что редактировал свой пост, так как ожидал, что вы спросите меня, что –
'getline' из POSIX находится в' stdio.h', который вы не включаете (или эквивалент C++, 'cstdio'). И вы, возможно, должны объявить _POSIX_C_SOURCE с соответствующим значением версии, чтобы вытащить его объявление в ('200809L' или позже). – WhozCraig