List files in sd card on lcd

Hi guys, I need to list all the files in the sd card on a 20x4 lcd screen. Using the CardInfo code I managed to list all files in serial, but I need them to be displayed on the LCD. In the SDFile library I can see that the function is automatically writing on the serial monitor. Is there any way I could list the files on sd card or maybe arrange a bit the library to write on lcd?

Thanks,

Is there any way I could list the files on sd card or maybe arrange a bit the library to write on lcd?

You can write filenames to the LCD the same way that you write anything else by using the LCD library.

Have you tried writing "Hello World" to the LCD ?

Yes its more difficult than that since the sd library automatically calls the serial monitor not the lcd and so I managed to only write on the serial monitor

jusspit:
Yes its more difficult than that since the sd library automatically calls the serial monitor not the lcd …"

this code clearly prints to Serial…

not a library function!

What does your sketch look like?

/*
  Listfiles
 
 This example shows how print out the files in a 
 directory on a SD card 
 
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 
 created   Nov 2010
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 modified 2 Feb 2014
 by Scott Fitzgerald
 
 This example code is in the public domain.
 
 */
#include <SD.h>

File root;

void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin 
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
  // or the SD library functions will not work. 
  pinMode(10, OUTPUT);

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  root = SD.open("/");
  
  printDirectory(root, 0);
  
  Serial.println("done!");
}

void loop()
{
  // nothing happens after setup finishes.
}

void printDirectory(File dir, int numTabs) {
   while(true) {
     
     File entry =  dir.openNextFile();
     if (! entry) {
       // no more files
       break;
     }
     for (uint8_t i=0; i<numTabs; i++) {
       Serial.print('\t');
     }
     Serial.print(entry.name());
     if (entry.isDirectory()) {
       Serial.println("/");
       printDirectory(entry, numTabs+1);
     } else {
       // files have sizes, directories do not
       Serial.print("\t\t");
       Serial.println(entry.size(), DEC);
     }
     entry.close();
   }
}

since the sd library automatically calls the serial monitor not the lcd

I am willing to bet that you are wrong.