|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.12.2015, 15:46 | #1 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
Язык С. Как скопировать параметр командной строки в буфер?
Добрый вечер. Как скопировать параметр командной строки в буфер, функцией "strcpy"?
Делаю так... Код:
Что не так? Как это исправить?
Не судите строго. Я только учусь языку С.
Последний раз редактировалось Fixator; 14.12.2015 в 15:54. |
14.12.2015, 16:07 | #2 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
common_dir_path[index] - это char, а не char*. Уберите [index]
Ну и Код:
|
14.12.2015, 17:48 | #3 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
Поменял.Но мне, надо обращаться через "index"! Там, находится смещение, относительно начала строки.Всё равно непонятно (я, только недавно, начал изучать С). В коде, common_dir_path - это адрес буфера, в 257 байт( тип данных char), выделенный под строку, содержащую путь к файлу. Так почему, я немогу дописать в этот буфер, функцией strcpy, параметр командной строки - ведь он, тоже имеет тип char?
Мне надо в буфер common_dir_path, дописать параметр командной строки (имя файла), с использованием index'а, функцией strcpy. Как это сделать?
Не судите строго. Я только учусь языку С.
Последний раз редактировалось Fixator; 14.12.2015 в 17:54. |
14.12.2015, 19:37 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
strcpy(common_dir_path + index, src_file_name);
|
14.12.2015, 22:22 | #5 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
К сожалению, не помогло.
Теперь компилируется. Но при запуске, программа падает, с сообщением об ошибке. Как быть? Что делать?
Не судите строго. Я только учусь языку С.
|
14.12.2015, 22:32 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Я не очень понял что тебе нужно, но если стелепатировать то:
Код:
I'm learning to live...
|
14.12.2015, 23:41 | #7 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
Мне надо, к пути, добавить название файла.
Например, я ввел в командную строку: Project.c Temp 1.Выделяю буфер под строку. 2.Копирую 0-ой аргумент, в буфер. 3.Теперь, строка буфера, выглядит так: F:\Project\Project.c 4.В буфере, удаляю конец файла. Теперь, строка в буфере, выглядит так: F:\Project\ 5.Далее, мне надо копировать 1-ый аргумент командной строки в буфер, начиная с символа \(Смещение символа \, хранится в index'е). Чтобы строка в буфере, была такая: F:\Project\Temp Вот, как раз, шаг 5 - неполучается. Придётся наверно, заменить библиотечную функцию, на самописную.
Не судите строго. Я только учусь языку С.
|
15.12.2015, 02:06 | #8 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Конкатенация строк - strcat. Скопирует одну строку в конец другой. Конечно, о размере буфера должен позаботиться программист. Ну и лучше использовать strncat, дабы у этой фвнкции есть третий параметр - максимальное кол-во символов для добавления.
|
15.12.2015, 03:13 | #9 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
Ясно. Никто из профессианалов, не может сказать человеческим языком - почему strcpy не работает, и как, её заставить работать?. Профессионалы блин. Ладно - попробую.
Не судите строго. Я только учусь языку С.
|
15.12.2015, 07:40 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Нам что, за вас дебажить?
Что например будет, если в common_dir_path не будет символа \? И кстати, что это вы за ассемблерщик, если выходите за пределы массива? Таких в наших краях называют одним словом - ламер. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Язык С. Как получить, размер аргумента командной строки? | Fixator | Общие вопросы C/C++ | 26 | 15.12.2015 02:57 |
Скопировать таблицу в буфер | agregator | Microsoft Office Word | 4 | 21.10.2012 16:42 |
Параметр в командной строке | Nina+ | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 30.05.2011 21:54 |
В командной строке вводится 1 параметр | Snapper | Помощь студентам | 5 | 18.12.2010 09:39 |
Как скопировать текст в буфер обмена с одного edit-a и вставить в другой | SeRhy | Общие вопросы Delphi | 2 | 26.07.2008 23:02 |