Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Написать функцию, которая вставляет после каждого пробела запятую - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция на показ матрици... http://www.cyberforum.ru/cpp-beginners/thread243441.html
Здравствуйте уважаемые форумчане ... Подскажите пожалуйста почему функция ShowMatrix первый раз вызывается всё нормально работает а второй раз при вызове пишется Segmentation failure... Сообственно...
C++ Действия с числами Нужно написать код на С++, к следующему: 1) посчитать сколько четных цифр у десятичного целого числа 2) упорядочены ли числа по возрастанию 3) найти минимальную цифру восьмиричного или... http://www.cyberforum.ru/cpp-beginners/thread243410.html
C++ Определить номер столбца с наибольшей характеристикой
набросал код, о н выдаёт неверный результат. помогите найти в чём ошибка. Характеристикой столбца матрицы назовем произведение элементов с четными номерами строк. Определить номер столбца с...
ВопросЫ по функциям для работы со строками с++ C++
Вот я нашел большинство (если не все) стандартные функции C++ для работы со строками:memset (void*, int, size_t) - устанавливает n первых байтов в указанное значение; strcat(char*, const char*) -...
C++ Небольшая прога по методам доступа к элементам массива http://www.cyberforum.ru/cpp-beginners/thread243378.html
Смысл такой, имеется трехмерный массив A. Данные считываются с файла(тут все верно). Хотелось бы обращаться к элементам данного массива по индексам, начинающимся не с нуля как обычно, а задать самому...
C++ нужно проверить и поставить арифметический знак между двумя числами здрасте=) помогите написать код, если мона с комментами на эту задачу: Вводится три числа. Вам нужно проверить можно ли поставить арифметический знак между двумя числами, чтобы в результате... подробнее

Показать сообщение отдельно
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
15.02.2011, 22:14
Что если размер передаваемой строки не достаточно велик для размещения там получившейся строки?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
 
void InsertComma(char *string) {
  int string_length = strlen(string);
  char *buffer = (char*)malloc(string_length + 1);
  char *source_symbol = string;
  char *destination_symbol = buffer;
  do {
    *destination_symbol++  = *source_symbol;
    if (*source_symbol == ' ') *destination_symbol++ = ',';
  } while (*source_symbol++ != '\0');
  strcpy(string, buffer);
  free(buffer);
}
 
int main(int argc, char *argv[]) {
  size_t buffer_size = 65535;
  char *buffer = (char*)malloc(buffer_size);
 
  while (!feof(stdin)) {
    if (fgets(buffer, buffer_size, stdin)) {
      size_t buffer_length = strlen(buffer);
      if (buffer_length > 0) buffer[buffer_length - 1] = '\0';
      InsertComma(buffer);
      printf("%s\n", buffer);
    }
  }
 
  free(buffer);
  return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru