Вопросы по С/С++ (СИ)
Re: Вопросы по С/С++ (СИ)
#include <string.h>
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1903
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Код: Выделить всё
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>Re: Вопросы по С/С++ (СИ)
veso74, ну, зато на стандартные типы работает подсветка синтаксиса, что визуально удобно. Конечно, unsigned long long long long int уже будет перебор, но unsigned long пока ещё пишу.
Re: Вопросы по С/С++ (СИ)
[uquote="Nranddek",url="/forum/viewtopic.php?p=4740929#p4740929"]#include <string.h>[/uquote]
Спасибо, помогло . Ну где тут логика? Ни в жизнь бы не догадался .
Скомпилировалось , теперь будем искать настоящие ошибки!
Спасибо, помогло . Ну где тут логика? Ни в жизнь бы не догадался .
Скомпилировалось , теперь будем искать настоящие ошибки!
Re: Вопросы по С/С++ (СИ)
muravei_, просто считается, что программирование, это полноценное, поэтапное и системное обучение. А без него либо догадываться, либо гуглить, либо поиском по файлам. А логика есть: работа со строками - это работа с массивами данных в памяти.
Re: Вопросы по С/С++ (СИ)
[uquote="Nranddek",url="/forum/viewtopic.php?p=4741062#p4741062"]А логика есть: работа со строками - это работа с массивами данных в памяти.[/uquote]
Ну да, логика сильно притянутая за уши.
Ну да, логика сильно притянутая за уши.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Логика простая: функция memcpy объявлена в strings.h. Очевидно, что его надо заинклюдить.
Re: Вопросы по С/С++ (СИ)
по этой логике инклюдить надо под 50 хидеров
...ну или хотяб штук по 5 всреднем для каждой архитектуры если кросс.
$ grep -rc -e'memcpy *(' /usr/lib/*/include/ /usr/include/ |grep -v :0
/usr/lib/avr/include/avr/pgmspace.h:2
/usr/lib/avr/include/string.h:4
....
/usr/include/linux/netfilter/xt_sctp.h:1
/usr/include/linux/cec-funcs.h:11
...
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:1
...
/usr/include/wchar.h:1
/usr/include/X11/Xlibint.h:1
...
/usr/include/tcl8.6/tcl-private/compat/string.h:1
...
/usr/include/c++/10/bits/locale_facets.h:4
...
/usr/include/string.h:3
/usr/include/obstack.h:4
$ grep -rc -e'memcpy *(' /usr/lib/*/include/ /usr/include/ |grep -v :0 |wc -l
48
$
...ну или хотяб штук по 5 всреднем для каждой архитектуры если кросс.
$ grep -rc -e'memcpy *(' /usr/lib/*/include/ /usr/include/ |grep -v :0
/usr/lib/avr/include/avr/pgmspace.h:2
/usr/lib/avr/include/string.h:4
....
/usr/include/linux/netfilter/xt_sctp.h:1
/usr/include/linux/cec-funcs.h:11
...
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:1
...
/usr/include/wchar.h:1
/usr/include/X11/Xlibint.h:1
...
/usr/include/tcl8.6/tcl-private/compat/string.h:1
...
/usr/include/c++/10/bits/locale_facets.h:4
...
/usr/include/string.h:3
/usr/include/obstack.h:4
$ grep -rc -e'memcpy *(' /usr/lib/*/include/ /usr/include/ |grep -v :0 |wc -l
48
$
-
petrenko
- Друг Кота
- Сообщения: 5321
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
[uquote="veso74",url="/forum/viewtopic.php?p=4740943#p4740943"]... (со временем будет вероятно unsigned long long long long int ...) ..[/uquote]
Hy шутка xopoшая
, а вот ежели cypьёзно - кто может подсказать - возможно ли в с# "встроить" дополнительные ( машинно-поддерживаемые ! ) типы данных ?
И , если возможно, то как сие "вкошачить" ?
Hy шутка xopoшая
, а вот ежели cypьёзно - кто может подсказать - возможно ли в с# "встроить" дополнительные ( машинно-поддерживаемые ! ) типы данных ?
И , если возможно, то как сие "вкошачить" ?
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
- linux_rulezz
- Вымогатель припоя
- Сообщения: 589
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
Re: Вопросы по С/С++ (СИ)
[uquote="muravei_",url="/forum/viewtopic.php?p=4741029#p4741029"]Ну где тут логика?[/uquote]
Т.е. просто набрать в терминале "man memcpy" - не судьба? А там как раз в самом начале пишут, какой header-файл нужен…
Добавлено after 2 minutes 23 seconds:
[uquote="Nranddek",url="/forum/viewtopic.php?p=4740946#p4740946"]зато на стандартные типы работает подсветка синтаксиса[/uquote]
Достаточно настроить подсветку в своем IDE. Но обычно таки современные IDE все типы из stdint.h подсвечивают. А писать "int" или "long" - можно в конце-концов нарваться на косяк. Как нарывались люди при переходе с 32- на 64-битную архитектуру. Или обратно (отладил ты, скажем, алгоритм на компе, а потом скопипастил на микроконтроллер).
Т.е. просто набрать в терминале "man memcpy" - не судьба? А там как раз в самом начале пишут, какой header-файл нужен…
Добавлено after 2 minutes 23 seconds:
[uquote="Nranddek",url="/forum/viewtopic.php?p=4740946#p4740946"]зато на стандартные типы работает подсветка синтаксиса[/uquote]
Достаточно настроить подсветку в своем IDE. Но обычно таки современные IDE все типы из stdint.h подсвечивают. А писать "int" или "long" - можно в конце-концов нарваться на косяк. Как нарывались люди при переходе с 32- на 64-битную архитектуру. Или обратно (отладил ты, скажем, алгоритм на компе, а потом скопипастил на микроконтроллер).
Windows must die!
Re: Вопросы по С/С++ (СИ)
Есть 92 байтовых массива констант разной длины , которые надо по очереди засовывать в функцию.
Как это проще организовать?
Сделать массив указателей?
Хотелось бы с минимумом возни.
Как это проще организовать?
Сделать массив указателей?
Хотелось бы с минимумом возни.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Массив по определению состоит из элементов одинаковой длины. Функции тоже как бы работают с параметрами известной (и одной и той же) длины... Странная у вас постановка задачи. Расшифруйте.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Вопросы по С/С++ (СИ)
Видимо имеется, ввиду, что один массив с константами одной длины, второй массив другой длины и так далее. Хотели сказать, что массивы просто разные.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Re: Вопросы по С/С++ (СИ)
Может таки структура поможет?

- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Зачем ? Ваши массивы (точнее, их имена) - и есть указатели. Просто передавайте их в функцию, с самой длиной (вторым аргументом). Стандартный ход.muravei_ писал(а):Сделать массив указателей?
Re: Вопросы по С/С++ (СИ)
[uquote="ARV",url="/forum/viewtopic.php?p=4756037#p4756037"]известной (и одной и той же) длины...[/uquote]
Ну, да. Байт -8бит , а в военное время - 12 !
Но как передавать в цикле? Как перебирать имена?
Несколько мыслей:
1. Сделать двумерный массив с указателями и размерами каждого.
2. Если быть уверенным , что массивы в памяти расположены последовательно - передавать указатель на первый и прибавлять к нему длину каждого .
3. Слить все в один массив и каждый раз прибавлять длину .
Ну, да. Байт -8бит , а в военное время - 12 !
Так тоже нельзя - кто-нибудь решит , что строчные или массив дуба, бука ...smacorp писал(а):массивы просто разные
Возможно. Скорее массив структур.BOB51 писал(а):Может таки структура поможет?
Само собой.Аlex писал(а): и есть указатели. Просто передавайте их в функцию
Но как передавать в цикле? Как перебирать имена?
Несколько мыслей:
1. Сделать двумерный массив с указателями и размерами каждого.
2. Если быть уверенным , что массивы в памяти расположены последовательно - передавать указатель на первый и прибавлять к нему длину каждого .
3. Слить все в один массив и каждый раз прибавлять длину .
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Ну, об этом в предыдущем посте Вы не сказали ничего. Оставалось только гадать.muravei_ писал(а):Но как передавать в цикле? Как перебирать имена?
По этому поводу у Вас уже есть мысли. Не думаю, что Вам тут что-то новое расскажут. Делайте как Вам удобнее, учитывая концепцию и нюансы алгоритмов.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1903
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
идея: вспомните, как кодируются шрифты с переменной длиной (по точкам) букв, напр. для OLED и TFT - соберите один массив со смещениями и данными. напр.: https://github.com/greiman/SSD1306Ascii ... er19.h#L63
Но информации о применении мало. Подозреваю, следующий вопрос будет о сложностях управления. Приведите пример или фрагмент ваших данных, сузим круг вариантов.
Но информации о применении мало. Подозреваю, следующий вопрос будет о сложностях управления. Приведите пример или фрагмент ваших данных, сузим круг вариантов.
Re: Вопросы по С/С++ (СИ)
[uquote="Аlex",url="/forum/viewtopic.php?p=4756193#p4756193"]Ну, об этом в предыдущем посте Вы не сказали ничего.[/uquote]
А это что ? ...
[uquote="veso74",url="/forum/viewtopic.php?p=4756201#p4756201"]соберите один массив со смещениями и данными.[/uquote]
См.
Добавлено after 2 minutes 12 seconds:muravei_ писал(а):надо по очереди засовывать в функцию.
[uquote="veso74",url="/forum/viewtopic.php?p=4756201#p4756201"]соберите один массив со смещениями и данными.[/uquote]
См.
muravei_ писал(а):3. Слить все в один массив и каждый раз прибавлять длину .
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Это :muravei_ писал(а): А это что ? ...надо по очереди засовывать в функцию.
Код: Выделить всё
func(arr1);
func(arr2);
func(arr3);
func(arr4);
Не было ни слова про циклы и имена.
Говорю же - ничего Вам тут нового не расскажут.muravei_ писал(а):См.
Вы же прекрасно понимаете, что такое массив, что такое указатели, как с ними работать, .... По этому :
Если собираетесь адресовать конкретный объект(в Вашем случае - массив) по индексу, то без контейнера не обойтись.Аlex писал(а):Делайте как Вам удобнее, учитывая концепцию и нюансы алгоритмов.
Хотя, кто-нибудь может выборку из кучи объектов сделать и на switch-case