创建具有不同扩展名的新文件

时间:2013-12-16 10:52:56

标签: c string file

在我的项目中,我有一个文件作为输入,我需要一个带有新扩展名的输出文件。假设我的输入文件file.txt在此为name。我需要输出文件为file.dic。我尝试了以下内容。

fpout = fopen(strcat(name,".dic"), WRITE_ONLY);

我知道这不是正确的方法。但是我该怎么做才能将文件名称设为file.dic

2 个答案:

答案 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);