|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.12.2015, 08:13 | #11 | ||||
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
Цитата:
Цитата:
Код:
1-ый параметр функции strcpy - принимает АДРЕС. Осуществляется адресация операнда по заданному значению в указателе. Компилятор вас оберегает от некорректного поведения вашей программы. Он не дает передать ЗНАЧЕНИЕ (которое явно не связано с логикой адресов) под АДРЕС. Ему нужна от вас гарантия того, что вы действительно осознаете, что скрывается под переменной именно АДРЕС (к этой переменной будет применен соотв. способ интерпретации - наверняка известная для вас, косвенная адресация). Код символа тоже можно интерпретировать как адрес (раз уж на то пошло) - но тогда вы должны об этом явно сообщить компилятору: char* ( common_dir_path[index] ) В вашем же случае, как уже и написали выше, необходимо было применить адресную арифметику, результатом которой являлся бы по прежнему АДРЕС: Если такой вариант не устраивает - есть еще унарный оператор &, который возвращает адрес заданного аргумента: &common_dir_path[index] Покажите полную строку ввода в командном интерпретаторе. С момента запуска исполняемого файла. Цитата:
Цитата:
Там же обычное безразборчивое копирование вида: Код:
Последний раз редактировалось Базиля; 15.12.2015 в 08:19. |
||||
16.12.2015, 18:12 | #12 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
1.Я только начал писать программу. Ещё не всё, успел предусмотреть. И программа, ещё не закончена - всё только начинается. В С, разбираюсь очень плохо, поэтому процесс движется: очень, оочень и ооочень медленно. Всё время, встречаются "палки в колёсах".
2.В common_dir_path, записывается путь того места, откуда запущена программа. Соответственно, если нет диска, то и нельзя с него запустить программу. А в присутствующем диске, соответственно, путь будет. 1.Я нигде не писал, что я крутой Ассемблерщик. 2.Я пришёл сюда, обсуждать язык С, а не Ассемблер и свои навыки, в нем. 3.За пределы, кого массива? Ты, пределы определял? Директивой char - можно выделять массив любого размера(на сколько памяти хватит). Во всяком случае, в Ассемблере можно (например: my_array db 10000 dup (0) ; массив, размером в 10000 байт). 4. Массив я выделял, так: 255 байт и +1 байт, для 0 зарершителя строки. Я с размером массива под строку, ещё не определился окончательно - это только набросок. 5.Строка с путём к файлу очень маленькая, и в мой массив, помешается полность, и ещё очень много места, остаётся после строки. 6.Другое дело, что я ошибся, когда выделил память директивой char, вместо unsigned char(и это нормально, ведь я только учусь.). Потому что, в Ассемблере, так: db — резервирование памяти для данных размером 1 байт. Директивой db можно задавать следующие значения: выражение или константу, принимающую значение из диапазона: для чисел со знаком –128...+127; для чисел без знака 0...255; Оскорблять человека, за стремление учиться? Фу... Как не красиво. Это низко, и недостойно профессионала, и уважения к вам.
Не судите строго. Я только учусь языку С.
Последний раз редактировалось Fixator; 16.12.2015 в 21:51. |
16.12.2015, 18:19 | #13 | |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
Да - тут, я ошибся. Бывает. Язык, с толку сбивает. Но как известно - "не ошибается тот, кто ничего не делает" и "на ошибках, учатся". А я, как раз таки, только учусь писать на языке С.Да, остались. Язык С, для меня - совсем другой мир, причём(не в обиду, а ради ясности), мир перевёрнутый, с ног, на голову, кривой, и очень безобразный. Поэтому, понять и привыкнуть к нему, лично мне - очень сложно. Язык С - королевтво кривых зеркал (для меня).
Цитата:
Большое спасибо, за разъяснения. Пока что, не всё понял, но буду разбираться. Почему? - написал, чуть выше.
Не судите строго. Я только учусь языку С.
Последний раз редактировалось Fixator; 16.12.2015 в 21:52. |
|
16.12.2015, 22:14 | #14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
16.12.2015, 23:44 | #15 |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
А можно какой-нибудь конкретный пример безобразия (ну и кривизны вдогонку) ?
И между делом. Соглашусь с waleri. C вашей стороны, безусловный переход с "ты" на "вы" тоже подается контексту: Давайте просто побольше уважения и добра |
17.12.2015, 01:46 | #16 | ||
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
А где там, лично к тебе, оскорбление? В своём сообщениии, я никого не оскорблял, а только лишь, выразил свои эмоции, а ты напрямую оскорбил. Если тебе, что-то показалось, то это, твои личные проблемы, и это не повод оскорблять незнакомого человека, особенно того, кто лично тебе, ничего полохого не сказал и не сделал.
Цитата:
Цитата:
Не судите строго. Я только учусь языку С.
Последний раз редактировалось Stilet; 17.12.2015 в 10:40. |
||
22.12.2015, 04:18 | #17 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
Всё. Разобрался.
Почитал книги. Посмотрел видео от Линды. Поправил код. Теперь, всё компилируется как надо, и работает замечательно. Должен сказать - изучить Ассемблер, было в 1000000 раз легче. Тяжёлый язык, имхо. Большое спасибо всем, кто помогал. Отдельное спасибо Базиля. На этом, тема закрыта.
Не судите строго. Я только учусь языку С.
Последний раз редактировалось Fixator; 22.12.2015 в 04:22. |
22.12.2015, 06:51 | #18 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Цитата:
Давайте к нам, в C++, тут легко |
|
23.12.2015, 07:59 | #19 |
Пользователь
Регистрация: 05.12.2013
Сообщений: 20
|
По сравнению с Ассемблером, да.
Ой нет! Боже упаси!
Не судите строго. Я только учусь языку С.
Последний раз редактировалось Fixator; 23.12.2015 в 08:17. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Язык С. Как получить, размер аргумента командной строки? | 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 |