0
假设我有一个名为“____.srt”的文件,其中___可以是任何东西。 我试图通过添加'1'来改变它的名字,所以它会看起来像这样的“____1.srt”。使用命令提示符在C中重命名SRT文件
使用CMD argv [1]从参数中读取文件。
void main(int argc,char* argv[]){
char* pt;
pt = strstr(argv[1],".srt\0"); // checks if end of input-string is .srt
if(pt == NULL)
{
fprintf(stdout,"Invalid input.\nInput file must be inputfile.srt\n");
fprintf(stdout,"Program will now exit\n");
return;
}
strcpy(pt,'1');
strcat(argv[1],".srt");
fprintf(stdout,"%s file was created.\n",argv[1]); }
这似乎不起作用。有人能够找出问题吗?我会很感激任何帮助。 谢谢
我不知道'c'太多,但是,不应该在'strstr(argv [1],“。srt \ 0”)'前检查'argc'的值。 – dcg
你没有说明“它似乎没有工作”。您正在打印出新的文件名,但实际上并未重命名该文件(或者甚至首先检查它是否存在)。另外,在文字字符串中加入'\ 0'没有意义。 –
@Klitos我正在检查文件是否存在。我没有提到它,因为它不是重点。如果我不把\ 0放在一个字符串中,我还能检查一个字符串是否以“.srt”结尾? – Jadenkun