Проверка расширений файлов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

// Lab7=.CPP.cpp : Defines the entry point for the console application.
// Заданы 6 имен файлов,написанных на языке Си, с расширением *.cpp
// Проверить, правильно ли написаны имена программ и если нет, то исправить, поставив нужное 
// расширение. 
 
#include "stdafx.h"
#include "string.h"
#include "conio.h"
 
void cpp(char *S);
 
int _tmain(int argc, _TCHAR* argv[])
{ char stroka[45];
  char *p;
  gets(stroka);
  
 cpp(stroka);
 
  puts(stroka);
    getch();
    return 0;
}
 
void cpp(char *S)
{char *P;
 P=strstr(S,".cpp");
  if(P)
      printf("file is good\n");
  else
      P=strchr(S,'.');
 
  if(P)
  {
      *P=NULL;
      strcat(S,".cpp");
  }
  else
      strcat(S,".cpp");
 
}
Программа работает, но для одного ввода файла,а не 6...не очень понимаю, в какое место написать цикл. Т.е. на экране программа д.б. такой: sfdg.cpy sfg.cpp gh.cfh hfg.cse gfh.tgh dhgf.cpp sfdg.cpp sfg.cpp gh.cpp hfg.cpp gfh.cpp dhgf.cpp

Решение задачи: «Проверка расширений файлов»

textual
Листинг программы
void cpp(char *S) {
  int ok = 0;
  const char* ext = ".cpp";
  char *P=strrchr(S, '.');
  if(P) {
          ok = !strcmp(p, ext);
          printf("file is %s!\n", (ok) ? "good", "bad");
          if ( !ok ) {
             strcpy(P, ext);
          }
  } else {
          strcat(P, ext);
  }
}

Объяснение кода листинга программы

  1. В функции cpp передается строка S в качестве аргумента.
  2. Объявлена переменная ok типа int со значением 0.
  3. Объявлена переменная ext типа const char* со значением .cpp.
  4. В переменной P содержится последний символ строки S или NULL, если его нет.
  5. Если P не NULL, то выполняется проверка расширения файла.
  6. Если расширение файла соответствует .cpp, то переменная ok становится 1.
  7. Выводится сообщение о статусе файла.
  8. Если расширение файла не соответствует .cpp, то в P добавляется расширение .cpp.
  9. Если P равен NULL, то в P добавляется расширение .cpp.
  10. Если расширение файла не соответствует .cpp, то выводится сообщение о том, что файл не является допустимым.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы