【发布时间】:2021-01-04 14:46:57
【问题描述】:
我正在尝试用下一种方式删除后缀,但最终输出与输入相同
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SUFFIX ".doc"
static void removeSuffix(char **outNewFileName, const char *inFileName)
{
*outNewFileName = strdup(inFileName);
outNewFileName[strlen(inFileName) - strlen(SUFFIX)];
}
int main ()
{
char *fileName = "tmp.doc";
char *outnewFileName = NULL;
removeSuffix(&outnewFileName, fileName);
free(outnewFileName);
return 0;
}
例如,如果 fileName 是 tmp.doc outnewFileName 也是 tmp.doc
【问题讨论】:
-
请不要在发布答案后编辑您的问题。我的回答解决了您的原始问题,而您的编辑看起来好像我没有解决。
-
@user273283 这个语句是什么 outNewFileName[strlen(inFileName) - strlen(SUFFIX)];在做什么?!
标签: c c-strings function-definition suffix