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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Angel341
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 71
18.11.2010, 19:33     путь к файлу #1
C++
1
2
3
4
5
String x,n,v;   
 x=Form1->Memo2->Text;       // имя файла
  n=  Form1->Memo1->Text;    // имя папки   
     v=".txt";  // разрешение файла
lst->LoadFromFile(String(n)\\String(x)+String(v));
как указать папку?
при указание
C++
1
String(x)+String(v)
все работает а когда указываю путь то пишет ошибку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2010, 19:33     путь к файлу
Посмотрите здесь:

Путь к файлу C++
Полный путь к файлу C++
C++ Путь к файлу
путь к файлу C++
путь к файлу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
18.11.2010, 19:47     путь к файлу #2
пути пишутся в таком формате "c:\\Documents and Settings\\..." Суть в том, что нужно ставить двойной слэш.

Добавлено через 50 секунд
Или я не правильно понял проблему?
Angel341
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 71
18.11.2010, 19:57  [ТС]     путь к файлу #3
Цитата Сообщение от Kastaneda Посмотреть сообщение
пути пишутся в таком формате "c:\\Documents and Settings\\..." Суть в том, что нужно ставить двойной слэш.

Добавлено через 50 секунд
Или я не правильно понял проблему?
втомто и дело что не хочет
если пишу путь "папка\\имя.txt" то окей а подругому не хочеть

Добавлено через 1 минуту
проблема в том что когда пишу String(n)\\String(x)+String(v) или "String(n)\\String(x)+String(v)" то он не видет путь
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
18.11.2010, 20:01     путь к файлу #4
Цитата Сообщение от Angel341 Посмотреть сообщение
String(n)\\String(x)+String(v) или "String(n)\\String(x)+String(v)"
Попробуйте все это дело переделать в char* , хотя не уверен, но попробовать стоит)
Angel341
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 71
18.11.2010, 20:07  [ТС]     путь к файлу #5
Цитата Сообщение от Kastaneda Посмотреть сообщение
Попробуйте все это дело переделать в char* , хотя не уверен, но попробовать стоит)
char не решение
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
18.11.2010, 20:14     путь к файлу #6
Цитата Сообщение от Angel341 Посмотреть сообщение
char не решение
Почему? Только что проверил - работает. Например:
C++
1
2
3
4
5
6
7
#include <iostream>
int main(){ 
     char str[]="start C:\\debug.txt";
     std::system(str);
     std::system("pause");
     return 0;
}
Чем вас такой подход не устраивает. А string это ведь класс, как компилятор вам строку из объектов соберет?
Angel341
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 71
18.11.2010, 20:31  [ТС]     путь к файлу #7
Цитата Сообщение от Kastaneda Посмотреть сообщение
Почему? Только что проверил - работает. Например:
C++
1
2
3
4
5
6
7
#include <iostream>
int main(){ 
     char str[]="start C:\\debug.txt";
     std::system(str);
     std::system("pause");
     return 0;
}
Чем вас такой подход не устраивает. А string это ведь класс, как компилятор вам строку из объектов соберет?
то что путь типа C:\\debug.txt работает я согласен но у меня немного подругому
мне надо пример:
открыть путь folder\\1.txt
где foder храниться Form1->Memo1->Text;
а имя файла Form1->Memo2->Text;
получаеться String(n)\\String(x)
но он не переходить у меня bds 2006 turbo c++
по поводу компилятора когда задаю String(x)+String(v) (x=имя файла а v= расширение) все открывает а вот с папкой не хочет
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
18.11.2010, 20:40     путь к файлу #8
Цитата Сообщение от Angel341 Посмотреть сообщение
когда задаю String(x)+String(v) (x=имя файла а v= расширение) все открывает
Не проверял, хотя странно. По-моему там ожидается параметр const char*.
Но если работает, попробуйте так
C++
1
lst->LoadFromFile(String(n)+"\\"+String(x)+String(v));
Angel341
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 71
18.11.2010, 20:50  [ТС]     путь к файлу #9
сколько пробывал не получалось но перезапустил билдер и все пошло
C++
1
lst->LoadFromFile(String(n)+"\\"+String(x)+String(v));
[/QUOTE]
большое спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2010, 20:55     путь к файлу
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
18.11.2010, 20:55     путь к файлу #10
Вот так мы собираем одну большую строку с полным путем
Цитата Сообщение от Kastaneda Посмотреть сообщение
C++
1
lst->LoadFromFile(String(n)+"\\"+String(x)+String(v));
А так 2 отдельные строки разделенные слэшами, странно, что это компилировалось
Цитата Сообщение от Angel341 Посмотреть сообщение
C++
1
lst->LoadFromFile(String(n)\\String(x)+String(v));
Я не представляю в каком контексте здесь компилятор использует слэш.
Yandex
Объявления
18.11.2010, 20:55     путь к файлу
Ответ Создать тему
Опции темы

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