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]); }
이것은 작동하지 않습니다. 누군가 문제를 파악할 수 있습니까? 나는 어떤 도움을 주셔서 감사합니다. 감사합니다.
난 당신이하지 않는 strstr (변수는 argv [1], ". SRT \ 0")'하기 전에 argc''의 값을 확인하지 않아야, 너무 많은'c'를 모르겠지만'. – dcg
"어떻게 작동하지 않는지"를 명시하지 마십시오. 새 파일 이름을 인쇄하지만 파일의 이름을 실제로 바꾸지는 않습니다. 또한 리터럴 문자열에'\ 0'을 쓰는 것은 의미가 없습니다. –
@Klitos 파일이 있는지 확인하고 있습니다. 그게 아니라고 나는 언급하지 않았다. \ 0을 넣지 않으면 문자열이 ".srt"로 끝나는 지 어떻게 확인할 수 있습니까? – Jadenkun