![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
Кто-то может объяснить в чем разница между "\\" и "/" при прописывании пути к файлу для оперирования с ним. Дома работает и с "\\" и с "/", в универе не работает с "\\".
Если просмотрел где-то подобную тему, извините. Спасибо. |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Это смотря где использовать... в программном коде или нет.
В системах windows - лучше \\, которое на самом деле \. В Linux - однозначно - /. |
|||
|
||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
Это в винде, в программном коде, но не работает в универе. Писал на VC++7.0
|
|||
|
||||
Rickert |
|
||||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 0 Всего: 52 |
Чита-либы лучше книги - меньше бы вопросов задавали: вы когда пишите строку, вы не можете указать служебные символы типа " или \, Тогда встаёт вопрос: а как их можно указать? Через "служебную палку". Т.е., например, пишите вы путь к файлу:
А обратный слэш - /, используется в *n?x системах. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||
|
|||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
Читай внимательней вопрос, потом рассказывай, что,, кому читать. То что ты сказал ребенок знает. Разница в чем сказать не можешь, кроме как Винда\Юник, так вообще не говори. Умник блин. |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Не думаю, что ребенок это знает.
Далеко не все вообще программили под *Unix. По сути. NOT, а в чем еще разница-то? Добавлено @ 14:22 Почему дома работает, а в универе - нет, непонятно. Возможно, ошибка просто в другой части кода. Потихоньку код в студию... ![]() |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Мне кажется тут разница в сервис паках винды - у меня аналогичная фишка была - на одной машине работало, на другой нет, причем делал не специально - чистая опечатка была.
Символ / автоматом разбирается с какой-то версии обновлений, как я понял (не утверждаю что именно так) Лично я пришел к выводу, что для систем Windows надо использовать \ |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Anikmar,
У NOT проблема с обратным слешем. |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Невнимательно посмотрел. Тогда точно код в студию, что-то не так. |
|||
|
||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
Да какой там может быть код:
fopen("C:\\asd.txt", "rb"); работает только, если: fopen("C:/asd.txt", "rb"); - соответсвенно, если так работает, то дело не в остальном коде. Не принимается также во внимание абсолюный путь, начинающийся с диска "С:", прописывается допустимый путь(права пользователя на машинах универа). Скорее проблема действительно с СП, как и написал выше Anikmar. Вообщем переделал под "/" - заработало. Но все ж интересно, где конкретно камень преткновения. Всем спасибо. Но тема не закрыта, если кому-то есть что сказать по сути, милости прошу, буду только рад. |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 0 Всего: 52 |
NOT, а ты посмотри через debug какой путь у тебя получается в конечном итоге. Возможно тебе надо будет сначала вызывать SetCurrentDirectory()
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
После того как поменял на обратный слеш, все стало норм. и в дебаге выводит тоже верный путь к файлу. Если использовать эту ф-цию для того, чтоб избавиться от слешей в пути файла, то проблема и так уже решена, а использовать ее по своему назначению, мне не нужно в таком случае и тем более, в єту ф-цию надо передавать тоже валидный путь, а до того как я его поменял винда в универе его не хавала.
|
|||
|
||||
NextAlex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 10.8.2005 Где: Украина, г. Одесс а Репутация: 2 Всего: 3 |
Этот прикол зависит от компилятора.
DevCpp без проблем компилирует оба варианта и программа работает - проверено, а вот с MSVC начинаются качели. В GCC не проверял, но поскольку DevCpp построен на его базе осмелюсь предположить что там тоже проходят оба варианта. --------------------
Говорила мама: "Учись играть на скрипке". Не хотел носить ноты - будешь носить пианино ... |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
NextAlex, а причем тут компилятор?
А что, MSVC у тебя не компилирует второй вариант? А какая ему нафиг разница, что у тебя в строке написано? |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Теоретически от рантайма компилера может зависеть. На практике любой компилер доверяет осёвым функциям и осёвой обработки путей (в том числе MinGW и VC++). Делать иначе - бредово.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |