0

我如何更改格式为`的文件路径

c:\abc\efg\mmm.txt

c:\\abc\\mm.txt ?

我能做些什么来改变

.txt 扩展名,比方说.doc

` 编辑:

这些路径仅用于说明。

实际路径由驱动器号和任意数量的子目录组成。文件扩展名可以是任何格式。

4

1 回答 1

1

你的任务不是很清楚。如果您只想复制反斜杠并且它是纯 C 并且您没有宽字符(即仅 ASCII),那么您可以执行以下操作:

char* p = str;
char target[MAX_PATH + 1]; // or some other way to be sure it will hold the transformed string
char* t = target;

while (*p) {
  char ch = *p++;
  if (ch == '\\')
    *t++ = '\\';
  *t++ = ch;
}

*t = '\0';

这将复制反斜杠。为了替换扩展名,为简单起见,您可能希望使用检测扩展名int len = strlen(str);(可能就像检查 中的最后一个字符一样简单str)。完成后,您可以通过然后替换while条件while(p - str < len - 3)strcat(target, "doc");

于 2012-02-29T14:54:59.730 回答