خطای getline was not declared in this scope
سلام میخواستم خط به خط از دو فایل رو بخونم و این دو خط رو باهم مقایسه کنم ولی وقتی از کامپایلر GCC استفاده میکنم خطای getline was not declared in this scope رو میده البته نمیدونم کدی که نوشتم درسته یا نه.
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp1,*fp2;
char *line = NULL;
size_t len = 0;
char arr1[60];
char arr2[60];
fp1=fopen("fname1.txt", "r");
fp2=fopen("fname2.txt", "r");
while(!feof(fp1)& !feof(fp2))
{ arr1=getline(&line,&len,fp1);
printf("%s",arr1);
arr2=getline(&line,&len,fp2);
printf("%s",arr2);
if(arr1!=arr2)
printf("not Equal");
continue;
}
fclose(fp1);
fclose(fp2);
return 0;
}
تابع getline جز توابع کتابخانه ای C نیست؟
راه دیگه ای به جز این تابع وجود داره؟ البته می خوام مراجعه به فایل برای خوندن کامل یه خط باشه نه به صورت رشته ای یا کاراکتری
نقل قول: خطای getline was not declared in this scope
معمولا به اینصورت استفاده میشه :
#include <fstream>
#include <string>
int main()
{
std::ifstream file("Read.txt");
std::string str;
while (std::getline(file, str))
{
// Process str
}
}
نقل قول: خطای getline was not declared in this scope
نقل قول:
نوشته شده توسط
parvizwpf
معمولا به اینصورت استفاده میشه :
#include <fstream>
#include <string>
int main()
{
std::ifstream file("Read.txt");
std::string str;
while (std::getline(file, str))
{
// Process str
}
}
این به زبان C++ هست
من زبان سی می خوام
فکر کنم باید چیزی اضافه کنم تا بتونم از این تابع استفاده کنم!!!!!
نقل قول: خطای getline was not declared in this scope
نقل قول:
نوشته شده توسط
parvizwpf
معمولا به اینصورت استفاده میشه :
فک کنم ایشون صرفا میخوان با C کد بزنن. حداقل کدشون که تماما این رو میگه.
-D_GNU_SOURCE رو به کامپایلر پاس بده. یه تابع افزونه ی gcc هست.
یه مشکل دیگه این میتونه باشه که GLIBC شما این تابع رو نداره. بهتره یه grep روی /usr/include/stdio.h بزنی ببینی هست یا نه.
نقل قول: خطای getline was not declared in this scope
نقل قول:
نوشته شده توسط
m.r226
فک کنم ایشون صرفا میخوان با C کد بزنن. حداقل کدشون که تماما این رو میگه.
-D_GNU_SOURCE رو به کامپایلر پاس بده. یه تابع افزونه ی gcc هست.
یه مشکل دیگه این میتونه باشه که GLIBC شما این تابع رو نداره. بهتره یه grep روی /usr/include/stdio.h بزنی ببینی هست یا نه.
دقیقا می خوام فقط با سی کد بزنم
ممنون بابت راهنماییتون قبلا چک کردم نبود
ولی توی اینترنت خیلی دیدم از این تابع استفاده میشه ولی چه جوری نمیدونم.
نقل قول: خطای getline was not declared in this scope
این تابع گویا تو کتابخونه استاندارد سی نیست . تو این لینک یه توضیحاتی داده
https://stackoverflow.com/questions/...o-getline-in-c
نقل قول: خطای getline was not declared in this scope