1 / 1 / 0
Регистрация: 16.10.2017
Сообщений: 77
1

Выделить из полного пути к файлу имя файла (без расширения)

07.05.2018, 15:39. Показов 4203. Ответов 2
Метки нет (Все метки)

Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой строки имя файла (без расширения).
Проболел лекцию сдавать надо зачетная неделя близка выручите если можете
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2018, 15:39
Ответы с готовыми решениями:

Из полного пути к файлу выделить только имя файла
Написать программу, которая по введённому полному пути к файлу выделяла бы только имя файла (то,...

Выделить из полного пути к файлу только имя файла
Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно...

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения
На с++

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения/
C++

2
295 / 226 / 102
Регистрация: 11.08.2016
Сообщений: 776
07.05.2018, 16:33 2
Как вариант
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
 
const char *p = {"C:/Catalog/prog.exe"};
char name[20];
 
int main(void)
{
    int i, len = strlen(p);     //узнали длинну
    
    for(; len > 0 && *(p+len) != '/'; len--);   //промотали до первого символа '/'
    
    for(i = 0, len++; *(p+len) != 0 && *(p+len) != '.';len++)      //переписали имя
        name[i++] = *(p+len);
    name[i] = 0;
    printf("%s\n", name);
    
    return 0;
}
Добавлено через 1 минуту
Тут единственное но, что нет ни одной проверки адреса. Но и в задании такого нет.
0
834 / 637 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
07.05.2018, 16:39 3
Лучший ответ Сообщение было отмечено Vladled как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <string.h>
 
char* get_name(char* name, const char* path){
    size_t n;
    const char* a, *b = path + strlen(path);
    if(b > path)
        --b;
 
    a = b;
    while((a >= path) && (*a != '\\') && (*a != '/')){
        if(*a == '.')
            b = a;
        --a;
    }
 
    if(a < path)
        return NULL;
    ++a;
 
    n = (size_t)(b - a);
    strncpy(name, a, n);
    name[n] = '\0';
    return name;
}
 
int main(void){
    char name[128];
 
    get_name(name, "X:/dir/php5.ini");
    puts(name);
 
    get_name(name, "C:\\games.doc");
    puts(name);
 
    getchar();
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2018, 16:39
Помогаю со студенческими работами здесь

Из полного пути получить имя файла без расширения
Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно...

Как извлечь имя файла без его полного пути и расширения?
как извлечь имя файла без его полного пути и расширения? какой код для кнопки сохранить в...

Выделить из строки с полным путем к файлу само имя файла без расширения
String58. Дана строка, содержащая полное имя файла, то есть имя диска, спи-сок каталогов (путь),...

Выделить из полного пути к файлу его расширение (без предшествующей точки)
Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru