目的:将目录中包含的文件重命名为小写。
我所知道的:使用fts库等的代码取自这位非常有帮助的人。 https://keramida.wordpress.com/2009/07/05/fts3-or-avoiding-to-reinvent-the-wheel/
使用GDB,我可以浏览代码并看到实际上,文件是小写的(Ex.DSC_2048.JPG变为dsc_2048.jpg)。但是,在我运行程序之后,我返回检查包含这些文件的文件夹,它们仍以大写字母命名。
以下是我重命名为小写的代码段:
case FTS_F:
{
for (int i = 0; i < strlen(p->fts_name); i++)
{
p->fts_name[i] = tolower(p->fts_name[i]);
}
break;
}
p是指向包含文件信息的结构的指针。 FTS_F是由fts指定它是&#34;普通文件&#34;。一旦知道它是普通文件,它就会运行这种情况。
问题可能是提供的结构是内容的副本,而不是内容本身?如果是这样,我该怎么做呢?
感谢。