реклама на сайте
подробности

 
 
> нужно передать строку с замешанными данными
Метценгерштейн
сообщение Feb 12 2016, 14:32
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



под линукс надо из кода выполнить
Цитата
system("i2cget -f -y 0 0x3a");


но значение 0x3a я хочу сделать переменной.

Первое, что приходит- это массив символов.
Цитата
char i2cset_str[] = {'i', '2', 'c', 's', 'e', 't', ' ', '-', 'f', ' ', '-', 'y', '0', 0x3a, 0x40, 0x27, '\0'};


Но не работает, и похоже, что не верно.

Как правильно делать?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
smalcom
сообщение Feb 12 2016, 15:05
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



попробуйте sprintf
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 12 2016, 15:21
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



пробую, спасибо. Может и получится.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Feb 12 2016, 15:45
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(smalcom @ Feb 12 2016, 19:05) *
попробуйте sprintf
Не пробуйте. Никогда не используйте функции, в которых нет контроля выхода за границу буфера. Используйте snprintf.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 12 2016, 19:37
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(andrew_b @ Feb 12 2016, 21:45) *
Не пробуйте. Никогда не используйте функции, в которых нет контроля выхода за границу буфера. Используйте snprintf.

Никогда не используйте snprintf, используйте _Printf() wink.gif
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 12 2016, 19:44
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



подскажите компилятор наподобии Visual Studio, чтобы можно было на бряке встать и просмотреть значения переменных- мышку подводишь и видно. Тот же массив просмотреть. Можно онлайн.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 12 2016, 20:05
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Метценгерштейн @ Feb 13 2016, 01:44) *
подскажите компилятор наподобии Visual Studio, чтобы можно было на бряке встать и просмотреть значения переменных- мышку подводишь и видно. Тот же массив просмотреть. Можно онлайн.

IAR
Go to the top of the page
 
+Quote Post
smalcom
сообщение Feb 12 2016, 20:21
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
подскажите компилятор наподобии Visual Studio

компилятор - это транслятор кода. VS - это IDE(интегррированная среда разработки). Если нужна IDE под линукс для C/C++, то из распространённых это KDevelop, Eclipse, Netbeans, QtCreator, Code::Blocks.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 12 2016, 20:36
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



я под виндой отлаживаюсь. Нужна IDE, кот. удобная в отладке, как VS. На платке под линуксом я тоже могу собрать gcc, но жутко неудобно там в блокноте писать и отлаживать код.
Хотелось бы под VS Си99 запустить. Но вроде как нельзя.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Feb 12 2016, 20:41
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



кокос может
студия сейчас тоже много может, по-моему даже гцц запускать, там и менюху с хоткеями уже под кокос переиначили
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 12 2016, 21:13
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Пока все тут- вопрос по теме-
не очень получается этот spintf заюзать

мне надо как-то так- это в отладке я вижу в вотче
Цитата
char str[40];
sprintf_s(str, "%s %s", "i2cset -f -y 0", "0x3a");


только вот вместо последнего 0x3a надо переменную подсунуть, которая имеет это значение. Как раз такой вывод меня устроит- как строку. Мне в команде system (... ) надо написать 0x3a.

решил
Цитата
sprintf_s(str, "%s 0x%x", "i2cset -f -y 0", 0x3a);
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Feb 13 2016, 04:10
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(jcxz @ Feb 12 2016, 23:37) *
Никогда не используйте snprintf, используйте _Printf() wink.gif

Код
[andrew@myhost ~]$ man _Printf
No manual entry for _Printf
Go to the top of the page
 
+Quote Post
SlavaV
сообщение Feb 13 2016, 05:27
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 13-06-06
Из: г.Улан-Удэ
Пользователь №: 18 024



почему не использовать конкатенацию (сложение) строк
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 13 2016, 06:33
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Цитата(SlavaV @ Feb 13 2016, 08:27) *
почему не использовать конкатенацию (сложение) строк

через sprintf все работает. Конкатенацию надо через malloc делать.
проблема была значение 0х3а перевести в строку "0x3a"
Go to the top of the page
 
+Quote Post
smalcom
сообщение Feb 13 2016, 13:34
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
я под виндой отлаживаюсь.

Eclipse, Netbeans, QtCreator, Code::Blocks ))

Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01467 секунд с 7
ELECTRONIX ©2004-2016