/*
* @file lab6_2.c
* @author Герасимюк Д.В., гр. 515і1
* @date 06 травня 2024
* @brief Лабораторна робота №6, варіант 3
* Рядки. Параметри командного рядка. Завдання 2
*/
#include "function.h"
#include <stdio.h>
#include <string.h>
int main() {
char file1[] = "readme.txt";
char extension1[10];
if (get_extension(file1, extension1)) {
printf("%s -> %s\n", file1, extension1);
}
char file2[] = "autoexec.bat";
char extension2[10];
if (get_extension(file2, extension2)) {
printf("%s -> %s\n", file2, extension2);
}
char file3[] = "notepad.exe";
char extension3[10];
if (get_extension(file3, extension3)) {
printf("%s -> %s\n", file3, extension3);
}
char file4[] = "csn.logo.png";
char extension4[10];
if (get_extension(file4, extension4)) {
printf("%s -> %s\n", file4, extension4);
}
char file5[] = "hosts";
char extension5[10];
if (get_extension(file5, extension5)) {
printf("%s -> %s\n", file5, extension5);
}
return 0;
}
/*
* @file function.h
* @author Герасимюк Д.В., гр. 515і1
* @date 06 травня 2024
* @brief Лабораторна робота №6, варіант 3
* Рядки. Параметри командного рядка. Завдання 2
*/
#include <stdio.h>
#include <string.h>
#pragma once
/*
* Витягує розширення з імені файлу та зберігає його у змінній extension
*
* @param filename - рядок, який містить ім'я файлу
* @param extension - рядок, у який буде зберігатися розширення
* @return 1 якщо розширення було знайдено
* @return 0 якщо розширення не було знайдено
*/
int get_extension(const char* filename, char* extension) {
// остання точка в імені файлу
const char* dot = strrchr(filename, '.');
if (dot == NULL || dot == filename) {
extension[0] = '\0';
return 0;
}
else {
// Копіюємо розширення після останньої точки
strcpy(extension, dot + 1);
return 1;
}
}