0

Hello friends. I am experiencing problems using the getline function in C. I want to use the function to print line numbers next to the text of each line of an input file. I have successfully read in the file and printed its contents line by line. But when I add the part to print the line numbers using getline, the compiler reports an error and the code doesnt run.
Here is the error I am getting

[Linker error] undefined reference to `getline' 
  ld returned 1 exit status

Here is the code I am using:

#include <stdio.h>
#include <string.h>
# define NEWLINE '\n'
int main()
{
    static const char filename[] = "Bond.in.txt";        
    FILE *file = fopen(filename, "r");    
    if ( file != NULL )
   {
     char line [ 200 ]; 

      while ( fgets ( line, sizeof line, file ) != NULL ) /* read a line */
      {
         fputs ( line, stdout ); /* write the line */
      }
/*********** code that gives problem ***********/

int counter = 0;
while ( getline(&filename, &line, stdin) ) 
{
    ++counter;
    printf( "%d , %d", counter, line);	
}

/************* end of code that gives problem****/

      fclose ( file );
   }
   else
   {
      perror ( filename ); 
   }
       char wait;
    scanf( "%c", &wait );
   return(0);
}

I dont understand where this error is coming from. I tried several varaitions using different parameters for getline but all resulted in the aformentioned error. It is my understanding that getline is a built in function included in the stdio library. I havent been able to test my code to see if it is correct because of this error.
Thanks for any help.

2
Contributors
4
Replies
5
Views
7 Years
Discussion Span
Last Post by Grn Xtrm
0

Hello friends. I am experiencing problems using the getline function in C. I want to use the function to print line numbers next to the text of each line of an input file. I have successfully read in the file and printed its contents line by line. But when I add the part to print the line numbers using getline, the compiler reports an error and the code doesnt run.
Here is the error I am getting

[Linker error] undefined reference to `getline' 
  ld returned 1 exit status

Here is the code I am using:

#include <stdio.h>
#include <string.h>
# define NEWLINE '\n'
int main()
{
    static const char filename[] = "Bond.in.txt";        
    FILE *file = fopen(filename, "r");    
    if ( file != NULL )
   {
     char line [ 200 ]; 

      while ( fgets ( line, sizeof line, file ) != NULL ) /* read a line */
      {
         fputs ( line, stdout ); /* write the line */
      }
/*********** code that gives problem ***********/

int counter = 0;
while ( getline(&filename, &line, stdin) ) 
{
    ++counter;
    printf( "%d , %d", counter, line);	
}

/************* end of code that gives problem****/

      fclose ( file );
   }
   else
   {
      perror ( filename ); 
   }
       char wait;
    scanf( "%c", &wait );
   return(0);
}

I dont understand where this error is coming from. I tried several varaitions using different parameters for getline but all resulted in the aformentioned error. It is my understanding that getline is a built in function included in the stdio library. I havent been able to test my code to see if it is correct because of this error.
Thanks for any help.

I just looked this up in Linux and for Linux you have to include this line

#define _GNU_SOURCE
#include <stdio.h>
#include <string.h>

0

Thanks but I'm not using Linux. I'm using the Dev compiler and have it saved as a .c file.
UPDATE
I wrote a user defined function and I am getting the same undefined reference error when I try to call this function.

0

Thanks but I'm not using Linux. I'm using the Dev compiler and have it saved as a .c file.
UPDATE
I wrote a user defined function and I am getting the same undefined reference error when I try to call this function.

Dumb question...Has this compiler worked before? i.e.have you successfully compiled other programs with this setup.

0

Dumb question...Has this compiler worked before? i.e.have you successfully compiled other programs with this setup.

Yes I have successfully compiled with the current setup. Thats why I am so perplexed right now.

This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.