![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
![]()
Здравствуйте. Как получить, размер аргумента командной строки? Например, размер 1-ого аргумента? Надо ли, для этого, копировать всю командную строку, во временный буфер, или нет?
Например, есть строка, введённая в консоли: F:\Project\Project.exe Temp В таком случае, 1-ым аргументом, является "Temp". Размер имени аргумента - 4 байта. Изучать язык C, стал только недавно, и просто, даже не представляю, с какой стороны подступиться к этой проблеме. Знаю, как это, написать на Ассемблере, но не знаю, как это, написать на C. Помогите пожалуйста! ![]()
Не судите строго. Я только учусь языку С.
![]() Последний раз редактировалось Fixator; 14.12.2015 в 02:56. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
![]()
Вот, я дубина. Есть же функция, для этого. Просто, привык всё делать своими руками.
_Bers Спасибо. Очень помогли. ![]()
Не судите строго. Я только учусь языку С.
![]() |
![]() |
![]() |
![]() |
#4 |
Подтвердите свой е-майл
Регистрация: 12.11.2014
Сообщений: 470
|
![]()
Нельзя копировать то, размер чего ещё не известен. Исключение - класс, полностью инкапсулирующий хранение данных и операцию копирования, тогда один его экземпляр можно скопировать в другой, не заботясь о размере. Но размер данных и в этом случае должен быть известен копирующему члену до фактического копирования и даже до фактического выделения памяти для копируемых данных, просто использующий код и его разработчик может этого размера не знать.
|
![]() |
![]() |
![]() |
#5 | ||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,726
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Код:
|
||||
![]() |
![]() |
![]() |
#6 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
![]()
Не по теме, но
Код:
![]() |
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#8 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]() Цитата:
главное - известен указатель на строку argv[номер_параметра], а конец её - это ноль. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
![]() |
![]() |
![]() |
#9 |
Подтвердите свой е-майл
Регистрация: 12.11.2014
Сообщений: 470
|
![]()
Кто сказал?
1. Размер нуль-терминальной строки отлично считается. 2. При этом за размер буфера отвечает вызывающий код, соответственно он тоже обязан измерить размер до выделения памяти. Либо о размере должен позаботиться программист и зарезервировать буфер, которого хватит. Потому что ТС собрался сначала скопировать, а только потом измерить. Так вот, это всё равно, что сначала купить канистру, а потом в неё лить то ли один стакан, то ли сразу танкер, а что не влезет, вколоть в мозг. Последний раз редактировалось Stilet; 14.12.2015 в 13:46. |
![]() |
![]() |
![]() |
#10 | ||
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
![]() Цитата:
![]() Цитата:
Синтаксис сбивает с толку, до такой степени, что бошка отказывается работать. ![]()
Не судите строго. Я только учусь языку С.
![]() |
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как посмотреть работу программы в режиме командной строки | moreman | Помощь студентам | 21 | 24.02.2015 17:08 |
Получить строку из "Командной Строки" | Janger | Общие вопросы Delphi | 5 | 05.06.2014 08:03 |
Как получить размер dds-файла? | RibGeDx | Общие вопросы Delphi | 8 | 16.03.2013 20:56 |
Как получить размер базы данных | Greek9000 | Общие вопросы .NET | 1 | 02.08.2011 13:49 |
Как получить размер строки типа LPCWSTR? | Gtx541 | Общие вопросы C/C++ | 1 | 30.05.2010 14:18 |