#c #vba #command-prompt
#c #vba #командная строка
Вопрос:
Я написал небольшую программу на C в VS2k8. Когда я запускаю ее из Windows (дважды щелкните exe-файл), она работает нормально. Когда я захожу в командную строку и пытаюсь запустить ее, она зависает и в конечном итоге завершается сбоем. Я создал тестовые программы с простыми выводами, которые отлично работают в обоих направлениях.
Я чего-то не понимаю? Я относительно новичок в программировании. Я пытаюсь запустить эту программу с помощью команды командной строки VBA, но это приводит к тому же результату, что и командная строка.
Забавно, что сначала она работала нормально, пока я не зашел, чтобы изменить значение постоянной переменной и перестроил ее (я не думал, что это имеет какое-то отношение к этому, но я изменил ее обратно без успеха). Настройки не изменены.
Редактировать: я назвал это time.exe и чем copies.exe (когда я попытался скопировать и вставить код в новый проект). Фактический код составляет около 250 строк, не уверен, какая его часть могла бы вызвать проблему. Она открывает файл .csv, загружает информацию в векторы, а затем сравнивает векторы друг с другом (добавляя что-то в конец, если это соответствует определенным условиям). Затем она выводит файл в другой файл .csv.
Комментарии:
1. Закодируйте, пожалуйста. По крайней мере, простой пример, который воссоздает вашу проблему.
2. Как вы это назвали? Вы уверены, что не запускаете какую-нибудь команду windowsили shell с тем же именем?
3. Вы пытались ее отладить? Попробуйте запустить приложение из командной строки в windbg и посмотрите, где происходит сбой. Работает ли это при нажатии клавиши 5 в VisualStudio?
4. Выполняет ли код какую-либо проверку ошибок? Что произойдет, если файла .csv там нет?
Ответ №1:
Может показаться, что текущий каталог при запуске отличается, и это вызывает вашу проблему, поскольку вы делаете некоторые предположения о текущем пути или диске?
Комментарии:
1. Согласен. Попробуйте использовать абсолютный путь при загрузке вашего csv-файла и посмотрите, сработает ли это тогда.
2. Вот и все! Не могу поверить, что это было что-то настолько глупое. Огромное спасибо.
3. @0geek всегда простые вещи …
![]()