Передача строки в функцию и возврат строки как результата - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Короче товарищи замучился я со строками в си, поскольку перешел из delphi там с этим проблем нет. И меня собственно интересует такая штука как передача в функцию и возврат из функции строк. мой багаж знаний видемо еще оч. мал и я так понимаю что единственный способ это передавать указатели на данные. вот например delphi приведу пример все просто
function A(str: string): string;
begin
 
end;
вызывать само собой примерно так
s: string; 
s:=a('бла бла бла');
на си не могу кроме как взять адрес массива типа char s[50]; объясните подробно как вы справляетесь этим гемором

Решение задачи: «Передача строки в функцию и возврат строки как результата»

textual
Листинг программы
void StrOut(char * String) { char Str[] = "bla-bla-bla"; memcpy_s(String, MaxLengthOfString, Str, strlen((char*)Str)); }

Объяснение кода листинга программы

В данном коде выполняется следующие действия:

  1. Объявляется функция StrOut с типом возвращаемого значения void и одним аргументом типа char * String.
  2. Внутри функции объявляется локальная переменная Str типа char с фиксированным размером в 11 символов.
  3. Значение переменной Str присваивается строке bla-bla-bla.
  4. Используется функция memcpy_s для копирования строки из локальной переменной Str в аргумент функции String.
  5. В качестве первого аргумента функции memcpy_s используется переменная String, вторым аргументом - MaxLengthOfString, третьим - Str, четвертым - strlen((char*)Str).
  6. Функция memcpy_s копирует строку до первого нулевого символа, но не более указанного размера строки.
  7. Функция StrOut возвращает пустую операцию (void).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы