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

Парсер массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Откорректировать программу http://www.cyberforum.ru/cpp-beginners/thread218114.html
Пожалуйста, переделайте программу, чтобы использовалась адресная арифметика , как я понял работа с указателями(*) Вот сам код: #include <stdio.h> #include <conio.h> #include <locale.h> void...
C++ удаление файлов по маске необходимо удалить все *.txt файлы из директории D:\\ я нашел в инете код но у меня он не запускается может кто скажет что не так #include <windows.h> #include <iostream.h> void main() { ... http://www.cyberforum.ru/cpp-beginners/thread218113.html
C++ Сортировка четных/нечетных элементов массива
В одномерном массиве состоящем из n вещественных элементов вычислить 1)... 2)... 3)упорядочить по возрастанию отдельно элементы стоящие на четных,отдельно на нечетных местах вот такая...
создание html C++
народ подскажите пожалуесто как создать с помощью borland c++ html докумен со следующим текстом (код с++ не нужно вводить в html т.е что выведет на экран программа то и нужно поместить в документ)...
C++ Подсчет количества символов http://www.cyberforum.ru/cpp-beginners/thread218096.html
Доброго времени суток всем! помогите,пожалуйста,решить задачу: Программа должна подсчитывать количество символов в заданном текстовом файле input.txt Вроде бы есть схожие по условию задания,но...
C++ строка задом на перед задание : . Напишите функцию, создающую новую строку, в которой все слова из старой строки следуют в обратном порядке и разделены одним знаком пробела. функция: void reverse (char *str1,char... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
23.12.2010, 16:25
Потому, что строки C обычно заканчиваются на символ '\0', который является признаком конца строки. Многие функции работы со строками неявно записывают этот символ в строку, либо ожидают, чтобы он там присутствовал. Таким образом, мы говорим: создать массив типа char, который может хранить до BUFFSIZE символов + завершающий символ '\0'.

Чуть выше я предложил исправить это объявление на
C
1
char buf[BUFFSIZE];
так как функция fgets прочитает как минимум на один символ меньше, чем мы укажем в соответствующем аргументе, который будет указывать на максимальный размер строки. Таким образом, в любом случае вызов функции fgets(buf, BUFFSIZE, stdin) прочитает не больше BUFFSIZE - 1 символов и обязательно вставит символ '\0' в конец результирующей строки. Таким образом, в данном случае выделять дополнительный символ для строки buf не надо.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru