| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Параметры отсылаемые функцией fopen() |
| Автор: GIK 14.12.2006, 23:06 | ||
| Всем доброго времени суток. Хочу написать програмульку которая с помощь алгоритма перебирает возможные варианты путей к файлам на жестком диске. Но сразу столкнулся с проблемой, а именно, функция fopen() не принимает string объект в качестве параметра, а это было бы удобно, так как создавать всевозможные варианты путей стало бы легко. Попробовал массив, его принимает, но написать подобный алгоритм с помощью него, лично для меня вообще не удобно..... Вот исходник для начала:
Есть у кого какие преложения? |
| Автор: Fazil6 14.12.2006, 23:15 | ||
используй string, а в fopen передавай указатель на буфер этой строки
|
| Автор: GIK 14.12.2006, 23:18 |
| Спасибо |
| Автор: GIK 15.12.2006, 00:24 | ||
| Еще пара вопросов возникло, с вашего позволения задам их в этом же топе. 1) не получается нужная для меня конкатенация строк. Мне нужно соединить числовое значение со строкой. Я даже спинным мозгом чувствую что так: s="c:\\test\\gik\\"+ i; некорректно, но тогда как? 2) при компиляции вывод сообщения "herVam" выходит 5 раз, хотя итераций 8?
|
| Автор: Daevaorn 15.12.2006, 00:37 |
http://www.cppreference.com/stdstring/strtol.html http://www.cppreference.com/cppsstream/index.html |
| Автор: apook 15.12.2006, 01:45 |
| s = "C:\\test\\t" + IntToStr(i); //<--Любая ф-я преобр из integer в строку |
| Автор: Fazil6 15.12.2006, 10:54 | ||
|
| Автор: GIK 15.12.2006, 11:00 |
| apook, у меня кидает ошибку когда так: s = "C:\\test\\t" + IntToStr(i); |
| Автор: Fazil6 15.12.2006, 11:02 | ||
это функция из VCL со всеми вытекающими |
| Автор: GIK 15.12.2006, 11:07 |
| std::ostringstream s ; так тоже ошибку дает? |
| Автор: Fazil6 15.12.2006, 11:16 | ||
|
| Автор: Akeem 15.12.2006, 11:19 | ||
Говорю как зделать так чтобы функция работала.
Я так делал. |
| Автор: Любитель 15.12.2006, 12:01 |
| Не надо говорить про специфичные борланд-вещи в неболрланд теме GIK, можешь конкретно сказать что тебе нужно. Всё-таки весь код, написанный выше нехорош. Хотя бы неоправдаенным смешением C и C++ (библиотек). Объясни чётко что и на чём тебе надо сделать. |
| Автор: GIK 15.12.2006, 13:28 | ||||
Мне не надо готовый код, я просто хочу разобратся в своих ошибках и обсудить их с Вами. Сейчас у меня не получается вывести несколько файлов в одном цикле. Почему не получается?
|
| Автор: Любитель 15.12.2006, 13:36 |
| Что конкретно выводится? Кстати, если файл не открылся, его не надо закрывать. В конце концов дебаггером пройди по пошагово. |
| Автор: Fazil6 15.12.2006, 13:41 | ||
у тебя буфер s все время накапливает , а должен после каждой итерации очищаться. попробуй при входе в цикл первым делом делать
|
| Автор: GIK 15.12.2006, 14:03 | ||||
В итоге один файл создается, ошибок как таковых не выдает, но сообщений herVam выдает ровно 7 штук? Может не успевает открывать, может задержку сделать таймером? Что скажешь. Добавлено @ 14:05
Fazil6, СУПЕР!!! ++ |
| Автор: Voldemar2004 15.12.2006, 14:07 | ||
|