The function SdBaseFile::getFilename() returns file's name.
This example will get the name of the current working directory and print it.
char name[13];
sd.vwd()->getFilename(name);
Serial.println(name);
Here is documentation for getFilename().
bool SdBaseFile::getFilename ( char * name )
Get a file's name
Parameters:
[out] name An array of 13 characters for the file's name.
Returns:
The value one, true, is returned for success and the value zero, false, is returned for failure
Actually vwd() is a volume's working directory. Most Arduino users have only one volume so this is also the current working directory.
If you have multiple volumes you should use this code to get the current working directory.
SdBaseFile::cwd()->getFilename(name);
Serial.println(name);
Serial.println("Done");
Here is more info from the SdFat file WorkingDirectory.txt
Relative paths in SdFat are resolved in a manner similar to Windows.
Each instance of SdFat has a current directory. In SdFat this directory
is called the volume working directory, vwd. Initially this directory is
the root directory for the volume.
The volume working directory is changed by calling SdFat::chdir(path).
The call sd.chdir("/2011") will change the volume working directory
for sd to "/2011", assuming "/2011" exists.
Relative paths for SdFat member functions are resolved by starting at
the volume working directory.
For example, the call sd.mkdir("APRIL") will create the directory
"/2011/APRIL" assuming the volume working directory is "/2011".
SdFat has a current working directory, cwd, that is used to resolve paths
for file.open() calls.
For a single SD card the current working directory is always the volume
working directory for that card.
For multiple SD cards the current working directory is set to the volume
working directory of a card by calling the SdFat::chvol() member function.
The chvol() call is like the Windows : command.
The call sd2.chvol() will set the current working directory to the volume
working directory for sd2.
If the volume working directory for sd2 is "/MUSIC" the call
file.open("BIGBAND.WAV", O_READ);
will then open "/MUSIC/BIGBAND.WAV" on sd2.
The following functions are used to change or get current directories.
See the html documentation for more information.
bool SdFat::chdir(bool set_cwd = false);
bool SdFat::chdir(const char* path, bool set_cwd = false);
void SdFat::chvol();
SdBaseFile* SdFat::vwd();
static SdBaseFile* SdBaseFile::cwd();