【发布时间】:2013-09-01 19:18:08
【问题描述】:
我的函数被传递了一个类型的文件名
char *myFilename;
我想将现有的扩展名更改为“.sav”,或者如果没有扩展名,只需在文件末尾添加“.sav”即可。但我需要考虑名为“myfile.ver1.dat”的文件。
谁能告诉我实现这一目标的最佳方法。
我正在考虑使用函数来查找最后一个“。”并删除其后的所有字符并用“sav”替换它们。或者如果没有“。”找到了,只需在字符串末尾添加“.sav”即可。但不知道该怎么做,因为我对字符串的 '\0' 部分感到困惑,以及 strlen 是否返回带有 '\0' 的整个字符串,或者我是否需要对字符串长度 +1。
我想最终得到一个文件名以传递给fopen()。
【问题讨论】:
标签: c string filenames file-extension strlen