Sprintf в C++

инициализировать std vector в C++ с примерами Программирование и разработка

В языке программирования C++ вы столкнетесь со многими преобразованиями и копированием данных из одного файла или одной переменной в другой, например, преобразование из int в строку, массив символов в строку и т. д. Аналогичный тип преобразования будет обсуждаться здесь, в котором символы из строк формата записываются в буфер. И значения будут получены через эту переменную буфера. Это делается с помощью функции C++, известной как sprints().

Синтаксис sprintf()

# int sprintf (char* buffer, const char* variable);

Переменная — это входное значение, которое мы хотим сохранить в буфере. Функция sprintf при выполнении возвращает количество символов, присутствующих в буфере. В противном случае возвращается отрицательное значение. Размер буфера объявляется во время инициализации; размер должен быть достаточно большим, чтобы хранить в нем строку.

Реализация sprintf()

Чтобы понять работу sprintf, см. приведенные ниже примеры, содержащие различные методы использования этой функции в исходном коде C++, чтобы компилятор мог выполнить ее в терминале Ubuntu.

Пример 1

Реализация sprintf содержит образец примера здесь. Основная функция будет задействована в вычислении значения числа пи, абсолютного значения в математике. Для этого мы должны использовать математическую библиотеку, содержащую все возможности математических операций. Вторая библиотека — stdio.h — также важный заголовочный файл, необходимый для выполнения любой программы на C++.

#include <math.h>

Массив символов инициализируется с фиксированным размером в основной программе. Переменная будет использоваться в функции sprint() в качестве параметра. Поскольку sprint используется для копирования или записи форматированной строки в буфер символьной строки, внутри функции мы будем использовать массив объектов символьной переменной и математический калькулятор числа пи.

# Sprint (str, «value of pi = %f», M_PI);

Это принесет значение PI. Значение буфера функции спринта используется для отображения значения. Как и в этом примере, используется str.

Код компилируется и выполняется компилятором C++, который является компилятором g++. Этот компилятор использует входной файл с сохраненным вами исходным кодом, выходной файл, в котором мы хотим отобразить результаты, используя «-o» в команде.

$ g++ o file file.c

$ ./file

При выполнении вы увидите, что значение числа пи отображается с помощью функции спринта.

Пример 2

Это еще один экземпляр функции sprintf(). Символьная переменная инициализируется для преобразования строки. Здесь также используется другая переменная целочисленного типа, которой присваивается целочисленное значение. Обе переменные будут использоваться в параметре функции sprint. Функция sprintf напечатает предложение моего возраста, а переменная возраста будет преобразована в переменную буфера.

# Sprintf (buffer, «My age is %d», age);

дин экземпляр функции sprintf

Чтобы отобразить преобразованное значение, мы будем отображать содержимое буфера с помощью буфера.

бразить преобразованное значение, мы будем отобража

Когда файл будет выполнен, вы увидите, что буфер отобразит инициализированное значение как целочисленное значение.

Пример 3

Мы проверим, что все элементы должны присутствовать в буфере. В основной программе создаются две переменные с разными типами данных, одна целочисленная и одна символьная, которые инициализируются по имени и возрасту. Переменная целочисленного типа используется здесь для подсчета символов. Здесь мы запишем комбинацию переменных для буферизации переменных и строк. Комбинация будет выполнена таким образом, что предложение будет записано в операторе cout вместе с переменными ’%s’ и ’%d’; эти два будут содержать значения как целочисленных, так и символьных переменных, инициализированных ранее.

м образом, и строка, и переменные будут вместе записыват

Таким образом, и строка, и переменные будут вместе записываться в переменную буфера. Теперь функция count будет использоваться с вызовом функции. В нем будет храниться значение, которое будет возвращено функцией sprint.

# Count = sprint (buffer, ‘ I am %s and I am %d years old, name, age);

После функции отображается буфер, чтобы показать записанное в него значение. Кроме того, функция подсчета подсчитала общее количество символов, которые будут сформированы при объединении строк и обеих переменных. Теперь мы выполним приведенный выше исходный код.

После функции отображается буфер, чтобы показать

Вы увидите, что функция спринта отобразила сообщение с именем и возрастом, встроенными в предложение. Счетчик также отображал общее количество символов, включая все символы строк, как переменные, так и пробелы между каждым словом.

Пример 4

В этом примере используется тот же подход, что и в предыдущем примере; все строки в операторе и переменные объединяются с записью в переменную буфера. Создается массив буфера символов, и здесь указывается его размер. Две переменные целочисленного типа будут хранить значения, а третья переменная будет вычислять сумму значений, присутствующих в двух переменных. Теперь мы встроим все переменные в строку.

# Sprint (buffer, «sum of %d and %d is %d», a,b,c );

Функция спринта будет использовать три случайные переменные для присвоения значений. Следует иметь в виду, что порядок переменных должен быть одинаковым. Значение суммы будет сохранено в переменной буфера вместо вывода через стандартный вывод.

использовать три случайные переменные для

 

Выполнить код; значения прикрепляются строкой через sprint.

ммы будет сохранено в переменной буфера вместо

Пример 5

Пример касается участия пользователей. Вместо того, чтобы принимать переменные в качестве входных данных и строковый оператор во время выполнения спринта, мы взяли строку в качестве входных данных, и значение будет поступать от пользователя. Здесь представлен исходный массив строковых символов, содержащий строку. Поскольку буфер также инициализируется с определенным размером, система попросит пользователя ввести значение в виде целого числа; это значение затем будет использоваться для встраивания в строку, которую мы взяли.

место того, чтобы принимать переменные в качестве входных данных и

После ввода значения оно теперь будет использоваться в функции спринта.

# Sprint (buffer, «%s_%d», original, n);

И исходный оператор, и целочисленное значение будут объединены символом подчеркивания, а не пробелом между ними. Теперь выполните оператор, чтобы просмотреть результаты.

дный оператор, и целочисленное значение будут объед

После ввода значения пользователем оператор будет отображаться как комбинация строки и целочисленного значения.

Заключение

Метод sprint() сохраняет отформатированную строку в буфер. Все значения записываются в буфер по отдельности или вместе. Все эти случаи объясняются в этой статье на базовых примерах, реализованных на C++. Проверка значения буфера может быть получена с помощью функции счетчика, которая подсчитывает символы строки. Это можно применить к любой программе спринта.

Читайте также:  JSON ответ в JavaScript
Оцените статью
bestprogrammer.ru
Добавить комментарий