在我的项目中,我有一个文件作为输入,我需要一个带有新扩展名的输出文件。假设我的输入文件file.txt
在此为name
。我需要输出文件为file.dic
。我尝试了以下内容。
fpout = fopen(strcat(name,".dic"), WRITE_ONLY);
我知道这不是正确的方法。但是我该怎么做才能将文件名称设为file.dic
?
答案 0 :(得分:2)
char * newstr;
newstr = strstr (name,"txt");// name = "file.txt"
strncpy (newstr,"dic",3);
//newstr = file.dic
这会将file.txt
替换为file.dic
答案 1 :(得分:0)
如果您只想更改文件扩展名,这是一种简单的方法。
int lenght;
lenght = strlen(name);
name[lenght - 1] = c;
name[lenght - 2] = i;
name[lenght - 3] = d;
name[lenght - 4] = .;
您也可以使用while
,而不检查“。”递增i,然后以相同的方式更改扩展名。
或
strncpy (strstr (name,"txt"),"dic",3);