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

Потеря символа при копировании строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегруженная функция в классе вектор http://www.cyberforum.ru/cpp-beginners/thread30662.html
#include <iostream> #include <vector> #include"Employe.hh" using namespace std; int main() { vector<Racine> v; //вектор объектов класса Racine
C++ Найти общую сумму 10 введенных массивов Помогите найти общую сумму 10 введеных массивов. http://www.cyberforum.ru/cpp-beginners/thread30634.html
Шаблон очереди C++
Это шаблон очереди на списках. Посмотрите, пожалуйста, в чём ошибка: #include <iostream> using namespace std; template <typename TInfo> class TQueue { protected:
C++ Проверьте лабораторную №3
Создать шаблоны функций, выполняющей ввод, вывод и упорядочивание матриц. Протестировать шаблоны для матриц с элементами различных типов: int, float и char. Варианты заданий приведены в лабораторной работе № 1. Какие недочеты, что можно улучшить и т.д. #include <iostream> #include <conio.h> using namespace std; #define DATATYPE double // Òèï äàííûõ ìàòðèöû
C++ error LNK2019: ссылка на неразрешенный внешний символ http://www.cyberforum.ru/cpp-beginners/thread30624.html
Вот код, неполный, решил откомпилировать - узнать, что исправить #include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std; #define istr 21 struct train{ int num; char naz; char time;
C++ Приведение типов Чем отличается type(x) от (type) x? подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17463 / 5701 / 361
Регистрация: 30.03.2009
Сообщений: 15,652
Записей в блоге: 26
25.04.2009, 11:09     Потеря символа при копировании строки
Цитата Сообщение от accept Посмотреть сообщение
здесь интерфейс (разные части программы используют одни и те же функции для своей работы), а то ты будешь ссылаться, что он в три раза больше твоего
На размер ссылаться не буду. Тем более мы считаем, что ты используешь уже готовые и отлаженные процедуры - некоторые строительные блоки, при помощи которых ты строишь программу. И я так понимаю, что условно говоря, код этик блоков не меняется, а потому можем считать, что они положены в дополнительную библиотеку. В этом твой подход В ОБЩЕМ СЛУЧАЕ абсолютно правильный, и я его безоговорочно принимаю

Цитата Сообщение от accept Посмотреть сообщение
каждую часть можно развивать отдельно и не париться при этом, а чего там будет в остальной части программы (ну, и перечитывать по тридцать раз одно и то же не надо, чтобы помнить а где там что начинается)
У меня претензия другого рода к твоей программе. У нас есть конкретная задача - перегнать байты из одного файла в другой. Я написал простой цикл побайтного копирования, глядя на который любой ДРУГОЙ программист поймёт, что тут делается. В твоём случае ты для простого действия задействовал кучу дополнительных процедур. Если бы я не знал, что делает программа, я бы угробил много времени на то, чтобы понять. При не очень детальном просмотре программы, я так и не нашёл того места, где печатается сама строка.

Я просто вот что хочу тебе сказать. Универсальные процедуры - это хорошо. Но только там, где это нужно. На МОЙ ВЗГЛЯД в простых случаях не нужно пытаться использовать что-то универсальное (а потому и, зачастую, громоздкое по своему интерфейсу). К примеру, для нахождения максимального значения из трёх чисел проще написать два if'а, чем использовать какую-нибудь процедуру быстрой сортировки (типа qsort с навороченным интерфейсом и требующей дополнительной пользовательской процедуры). Так же и в данном случае. Когда будет поставлена задача сложной строковой обработки, тогда и стОит использовать твои блоки. Причём, возвращаясь к уже сказанному мной ранее, твоя процедура слабо годится в тех случаях, когда нам действительно нужно считать ЦЕЛИКОМ всю строку, которая может быть длинее, чем MAXLINE. Можно из принципа использовать эти интерфейсы, довыделяя каждый раз буфер, но программа у тебя совершенно перестанет читаться (т.е. её понять будет сложно). В итоге всё выльется в то, что проще будет написать отдельный интерфейс, который читает строку из файла, динаически довыделяя какой-то промежуточный буффер (и используя уже выделенный буффер для чтения следующей строки). Т.е. этом случае твоя процедура оказывается недееспособной
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru