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