Описание тега asprintf

Используйте этот тег для вопросов о функциях расширения C asprintf и vasprintf для безопасного для памяти форматирования данных.
0 ответов

Valgrind сообщает об освобожденных байтах, но об освобожденных блоках после asprintf()

Я знаю, что asprintf() выделяет память, и ее нужно освободить после вызова. Я добавил бесплатные операторы для указателей, предоставляемых asprintf (после их использования), но в то же время valgrind сообщает, что у меня все еще есть утечки памяти: …
11 окт '17 в 18:02
1 ответ

Проблема записи и чтения из общей памяти c

Цель этого кода - создать пространство общей памяти и записать в него значение n в дочернем элементе, а затем распечатать все числа, сгенерированные в родительском процессе. Но в настоящее время это просто распечатывает адреса памяти, такие как 1648…
8 ответов

Использование asprintf() в Windows

Я написал программу на C, которая отлично работает на Linux, но когда я компилирую ее на Windows, она выдает ошибку, в которой говорится, что asprintf() не определена. Он должен быть частью библиотеки stdio, но, похоже, многие компиляторы его не вкл…
20 окт '16 в 16:34
1 ответ

Как предотвратить запись asprintf над переменными в куче?

Я использую asprintf динамически распределять память и загружать строки для хранения информации о файлах в рабочем каталоге. В 273-м (точно и последовательно) вызове функции parse_entry эта строка выполняется:file->filename_len = asprintf(&fi…
19 май '18 в 00:50
4 ответа

Преобразование int в char* в C, когда использование sprintf слишком дорого

Мне нужно конвертировать int значение для char строка, я использовал следующую функцию, где счет имеет тип int, void updateScore(){ char str[5] = "0"; sprintf(str, "%d", score); drawString(str); } void drawString5x7(char *string){ while (*string) dr…
26 апр '17 в 07:31
2 ответа

Зачем использовать Asprintf?

Мне трудно понять, зачем вам нужен asprintf. Здесь в руководстве это говорит Функции asprintf () и vasprintf () являются аналогами sprintf (3) и vsprintf (3), за исключением того, что они выделяют строку, достаточно большую для хранения вывода, вклю…
05 окт '12 в 13:05
4 ответа

Замена или обходной путь для asprintf в AIX

Я пытаюсь собрать Python-Kerberos на AIX. kerberospw.c использует вызов asprintf, но, как говорит мне Google, asprintf не существует в AIX. Я видел http://www.koders.com/c/fidAA9B130D588302673A28B568430A83131B7734C0.aspx?s=windows.h, который выгляди…
04 фев '11 в 14:39
1 ответ

Ошибка сегментации в длинной строке

Я пишу функцию, которая выводится в виде стандартного вывода, как, например, обычная функция printf, но вместо того, чтобы принимать такие индикаторы, как%d или%s, для этого требуется {i} или {s}. У меня проблема в том, что когда строка аргумента фо…
07 апр '18 в 18:58
2 ответа

Является ли `asprintf` поточно-ориентированным?

Является ли функция GNU asprintf (печать в выделенную строку) (IIC, в основном, это сводится к malloc потокобезопасен.) Рассмотрим пример кода: #define _GNU_SOURCE #include <stdio.h> #include "getValue.h" char * getValue(int key) { char * valu…
17 фев '15 в 13:20
2 ответа

Пустой файл при использовании sprintf и системной функции на C

Я хочу сохранить некоторую информацию в текстовом файле, я написал эту программу: #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char *argv[]) { FILE *fichier; char buffer[20]; char command[200]; char …
11 окт '16 в 13:49
4 ответа

php sprintf HTML шаблон

У меня есть html почтовый шаблон, который я хочу отправить своим пользователям с помощью функции php mail(). Я помещаю этот шаблон в переменную php и хочу вставить в него указанные переменные с помощью функции sprintf(), но я получаю следующее: Пред…
11 июл '17 в 11:06
2 ответа

asprintf - как получить строковый ввод в C

Я читаю книгу "21 век C" (первое редактирование) и нахожу интересную программу, использующую asprintf для получения строки без использования malloc /size of для длины строки или выделения пространства. Пожалуйста, прочитайте прикрепленное изображени…
28 дек '16 в 08:12
2 ответа

Функция asprintf в C, что она делает?

В настоящее время я делаю Эксплойт-Упражнения на уровне 02, где в скрипте я вижу функцию под названием "asprintf",asprintf(&buffer, "/bin/echo %s is cool" , getenv("USER")); буфер = ноль; до этого вызова функции. Пожалуйста, объясните мне на про…
03 ноя '17 в 09:51
1 ответ

Valgrind об asprintf: адрес равен 0 байтам внутри блока размером <size> alloc'd

У меня есть такой код: void logConnectionStatus(char * domain, char * status, mqd_t logQueue) { char * message; asprintf(&amp;message, "Connection to domain %s: %s", domain, status); mq_send(logQueue, message, 1024, 0); free(msg); } но проверка Валь…
15 янв '18 в 20:46
1 ответ

Отображение строки времени, созданной с использованием asprintf

Я хочу отобразить строку в этой форме: "через 3 дня 00:15:07" или "в 00:15:07" в случае дней 0 поэтому я написал некоторый код следующим образом #include&lt;stdio.h&gt; #define LEASE_TIME_USING_DAYS "in %d days %c%d:%c%d:%c%d\n" #define LEASE_TIME_N…
26 авг '17 в 11:08
1 ответ

Недопустимое чтение размера 1 при использовании valgrind

Я получаю этот вывод при использовании valgrind: ==19923== Invalid read of size 1 ==19923== at 0x52CCCC0: vfprintf (vfprintf.c:1632) ==19923== by 0x52F4772: vasprintf (vasprintf.c:59) ==19923== by 0x52D3A56: asprintf (asprintf.c:35) ==19923== by 0x4…
16 янв '17 в 05:40
1 ответ

R - Цикл по строкам фрейма данных + запись длинного текста в файл

Я борюсь с конкретным циклом for в R. У меня есть фрейм данных с 52 строками и примерно 30 столбцами. Я пишу цикл for для извлечения данных (или значений) из каждой строки и вставки их в длинный текст - в данном случае это код javascript/geojson. В …
14 апр '20 в 22:04
1 ответ

Как преобразовать длинную строку в строку?

Я создаю программу, которая принимает числовой ввод от пользователя как long long, а затем есть некоторая математика, связанная с отдельными цифрами. Я думаю, что лучший способ сделать это - преобразовать long long в строку, а затем перебрать различ…
12 авг '20 в 16:45
1 ответ

Лучшая практика с sprintf?

Вот такая ситуация: Мы получили код из внешнего источника, который использует sprintf, например strcat. Нравится: char buffer[1024]; sprintf(buffer, "Some text."); sprintf(buffer, "%s%s", buffer, "Some more text"); sprintf(buffer, "%s%s", buffer, "a…
2 ответа

Утечка памяти asprint нужна помощь, чтобы понять, откуда происходит утечка и возможные исправления

Примечание. Я вызвал эту функцию и освободил ее, но valgrind по-прежнему показывает ошибку. Этот код в основном принимает односвязный список с двумя данными coeff и exp. Это в основном преобразование полиномиального хранилища в связанный список, пре…
09 янв '21 в 13:22