Неккоректный разбор аргументов. Причина?
От: dimach Беларусь  
Дата: 23.10.01 13:18
Оценка:
Простенькая программа
//parse.cpp

#include <iostream.h>
#include <stdlib.h>
void main()
{
int count;
cout << "\nCommand-line arguments:\n";
for( count = 0; count < __argc; count++ )
cout << " argv[" << count << "] " << *__argv++ << "\n";
}

Для построения .exe использую MSVC6.0 sp4
Затем запускаю следующий .bat файл
start c:\temp\parse.exe "first arg"

Результат работы
argv[0] c:\temp\parse.exe
argv[1] first
argv[2] arg

Система Windows98SE, IE6.0
Что может быть причиной неккоректного разбора аргументов???
Command.com? start.exe?
Re: Неккоректный разбор аргументов. Причина?
От: Аноним  
Дата: 23.10.01 14:10
Оценка:
Здравствуйте dimach, Вы писали:

D>Простенькая программа

D>//parse.cpp

D>#include <iostream.h>

D>#include <stdlib.h>
D>void main()
D>{
D> int count;
D> cout << "\nCommand-line arguments:\n";
D> for( count = 0; count < __argc; count++ )
D> cout << " argv[" << count << "] " << *__argv++ << "\n";
D>}

D>Для построения .exe использую MSVC6.0 sp4

D>Затем запускаю следующий .bat файл
D>start c:\temp\parse.exe "first arg"

D>Результат работы

D>argv[0] c:\temp\parse.exe
D>argv[1] first
D>argv[2] arg

D>Система Windows98SE, IE6.0

D>Что может быть причиной неккоректного разбора аргументов???
D>Command.com? start.exe?

А что здесь некорректного? То что в argv[0] — имя программы? Так это правильно.
Re[2]: Неккоректный разбор аргументов. Причина?
От: Аноним  
Дата: 23.10.01 14:51
Оценка:
Здравствуйте Аноним, Вы писали:


А>А что здесь некорректного? То что в argv[0] — имя программы? Так это правильно.


Извини, тормознул, не увидел кавычек. Не знаю, у меня тоже самое под NT и под Builder'ом корректно работает
Re[3]: Неккоректный разбор аргументов. Причина?
От: dimach Беларусь  
Дата: 24.10.01 05:13
Оценка:
Здравствуйте Аноним, Вы писали:

А>Извини, тормознул, не увидел кавычек. Не знаю, у меня тоже самое под NT и под Builder'ом корректно работает


Под NT и 2000 у меня эта программа тоже работает корректно, но под Win98SE — проблемы.
Меня интересует последовательность разбора команды в bat файле т.е. я запускаю
test.bat
start c:\temp\parse.exe "first arg"
Сперва command.com производит синтаксический анализ этой строки и запускает start.exe с соответствующими параметрами. Затем start.exe производит аналогичные действия и запускает parse.exe c параметрами.
Кто неверно разбирает строку с параметрами — command.com или start.exe?
Или я ошибаюсь в определении последовательности разбора .bat файла?
Может быть command.com или start.exe используют для разбора какие-либо .dll?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.