Форум программистов, компьютерный форум CyberForum.ru

Не удается ввести путь к файлу - C++

Восстановить пароль Регистрация
 
Hooly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 56
11.12.2013, 21:04     Не удается ввести путь к файлу #1
Не удается ввести путь к файлу, точнее путь то вводится но dosbox не принимает его. Ввожу вида C:\asd.txt

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <dir.h>
#include <string.h>
#define ESC 27
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
/* ----------------------------Osnovnaya programma---------------------------- */
void main() {
 
    int z, h, b, n, i, j, flag;
    FILE *fin, *fout;
    char drive[MAXDRIVE] = "";
    char dir[MAXDIR] = "";
    char filename[MAXFILE] = "";
    char ext[MAXEXT] = "";
    char PathIn1[256] = "", PathIn2[256] = "", PathOut[256] = "";
    do {
        clrscr();
 
        fin = NULL;
        // Zaprashiwaem put k obrabativaemomy failu
        while (fin == NULL) {
            printf("Vvedite put' k vhodnomu failu\n");
            scanf("%s", &PathIn1);
 
            // Razbivaem put k failu na sostavlyayushie
            flag = fnsplit(PathIn1, drive, dir, filename, ext);
 
            // sobiraem novoe imya ishodnogofaila s novim raschireniem
            strcat(PathIn2, drive);
            strcat(PathIn2, dir);
            strcat(PathIn2, filename);
            strcat(PathIn2, ".old");
 
            // pereimenovivaem
            rename(PathIn1, PathIn2);
 
            // otkrivaem ego dlya chteniya
            fin = fopen(PathIn2, "r");
 
            if (fin == NULL) {
                printf("\nERROR!!! Otkrit' fail ne udalos'\n");
                getch();
            }
        }
        // sozdayem vichodnoyi fail dlya zapisi s iznachalnim imenem pervogo faila
        fout = fopen(PathIn1, "w+");
 
        if (fout == NULL) {
            printf("\nERROR!!! Otkrit' fail ne udalos'\n");
            getch();
        }
        // Cikl do konza ischodnogo faila
        while (!feof(fin)) {
            // Schitivaem ocherednoe chislo iz faila
            fscanf(fin, "%d", &z);
 
            b = 1;
            rewind(fout); // pomeshenie ukaztelya na fail v nachalo faila
 
            // Cikl do konza wichodnogo faila
            while (!feof(fout)) {
                fscanf(fout, "%d", &h); // Schitivaem ocherednoe chislo iz faila
                if (z == h) { // Sravnivaem ego s chislom iz whodnogo faila
                    b = 0;
                }
            }
 
            if (b == 1)
            { // Esli sovpadeniji ne naijdeno, to zapisivaem eto chislo w wichodniji fail
                fprintf(fout, "%d", z);
                fprintf(fout, "\n");
            }
 
        }
 
        printf("Obrabotca zavershena\n");
        printf("\nDlya zaversheniya programmi nagmite   < ESC >\n");
        printf("\nDlya prodolgeniya nagmite < Enter >\n");
        fclose(fin);
        fclose(fout);
    }
    while (getche() != ESC);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 21:04     Не удается ввести путь к файлу
Посмотрите здесь:

путь к файлу C++
Путь к файлу C++
C++ Путь к файлу
путь к файлу C++
путь к файлу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yanush
 Аватар для Yanush
154 / 150 / 44
Регистрация: 28.09.2013
Сообщений: 281
Завершенные тесты: 1
11.12.2013, 21:34     Не удается ввести путь к файлу #2
Попробуй C:\\asd.txt
Hooly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 56
12.12.2013, 01:03  [ТС]     Не удается ввести путь к файлу #3
пробовал, не помогает.

Добавлено через 1 час 42 минуты
люди, help

Добавлено через 1 час 41 минуту
вверх
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.12.2013, 01:17     Не удается ввести путь к файлу #4
Если так: C:/asd.txt ?
Цитата Сообщение от Hooly Посмотреть сообщение
но dosbox не принимает его
Что значит: "не принимает"?
Hooly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 56
12.12.2013, 01:40  [ТС]     Не удается ввести путь к файлу #5
ну ввожу я путь и ничего не происходит.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.12.2013, 01:52     Не удается ввести путь к файлу #6
А что должно произойти?
Hooly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 56
12.12.2013, 02:15  [ТС]     Не удается ввести путь к файлу #7
так считать строку с файла же
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.12.2013, 02:31     Не удается ввести путь к файлу #8
Сообщения какие-нибудь выводятся (ERROR!!! Otkrit' fail ne udalos')?

Добавлено через 3 минуты
Проверочные выводы сделайте, чтобы посмотреть, где сбой. После scanf() пути, после fnsplit(), после strcat-ов.
Hooly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 56
12.12.2013, 02:50  [ТС]     Не удается ввести путь к файлу #9
ERROR!!! Otkrit' fail ne udalos' - это выводится

по вводимому пути файл не пересобирается (со сменой разрешения), значит ошибка при чтение файла --> не читает файл по пути.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.12.2013, 03:01     Не удается ввести путь к файлу #10
Это нестандарт нигде не проверить, поэтому разбирайтесь сами.
Hooly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 56
15.12.2013, 21:08  [ТС]     Не удается ввести путь к файлу #11
upp
alsav22
15.12.2013, 22:04
  #12

Не по теме:

Не надоело? За это время, уже раз десять самому можно было разобраться.

Hooly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 56
15.12.2013, 22:52  [ТС]     Не удается ввести путь к файлу #13
alsav22, Пытался, не решается проблема. В с++ builder компилируется прекрасно и работает, а досбок не хочет его. В VS не компилируется изза библиотеки dir.h
uhx
 Аватар для uhx
56 / 56 / 6
Регистрация: 11.07.2013
Сообщений: 300
15.12.2013, 23:14     Не удается ввести путь к файлу #14
Может проблема в 42 строке? Ты пытаешься открыть PathIn2, а этот путь может как-то не правильно формируется? Выведи его на экран и посмотри.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 04:45     Не удается ввести путь к файлу
Еще ссылки по теме:

C++ Путь к файлу
Путь к файлу C++
C++ путь к файлу

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.12.2013, 04:45     Не удается ввести путь к файлу #15
Цитата Сообщение от Hooly Посмотреть сообщение
но dosbox не принимает его
Это же dosbox... Там нужно диски подключать и прочая байда. Единственное что могу посоветовать: помещать файлы в рабочую директорию dosbox, и вводить просто имя файла.
Yandex
Объявления
16.12.2013, 04:45     Не удается ввести путь к файлу
Ответ Создать тему
Опции темы

Текущее время: 14:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru