Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2012, 14:26   #11
CoLT
 
Регистрация: 23.09.2012
Сообщений: 7
По умолчанию

Если я делаю так
Код:
char buff[5];
	buff[strlen(buff)-1]='\0';
	vector<string> s;
	ifstream infile;
	infile.open ("Text.txt");
while(1) {
		infile.getline(buff, strlen(buff)-1);
		if(infile.eof()) break;
		s.push_back(buff);
	}
	sort (s.begin(), s.end());
	for(int i=0; i<s.size(); i++)
		cout << s[i] << endl;
	infile.close();
	system("pause");
	return 0;
то при выполнении программы компилятор пишет, что произошло переполнение буфера.
И что за функция strlen?
CoLT вне форума Ответить с цитированием
Старый 24.09.2012, 15:13   #12
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

тьфу, точно

strlen выдает длину строки до '\0' символа, я зря тут ее присобачил, оставьте замените на sizeof



еще удобнее, конечно, было бы выделять память под массив динамически
Код:
    int n=5;
    char* buff = new char[n];
и потом просто писать :
Код:
    buff[n-1]='\0';
и
Код:
    infile.getline(buff, n-1);
НО тогда придется в конце функции писать дополнительную инструкцию
Код:
delete []buff; //для явного особождения памяти
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 24.09.2012, 17:01   #13
CoLT
 
Регистрация: 23.09.2012
Сообщений: 7
По умолчанию

Спасибо, заменил strlen на sizeof, всё заработало как надо) Только пришлось всё таки вместо .getline писать .read , непонятно, почему гетлайн неработает...
CoLT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
какой программой проверить скорость чтения HDD? contin Компьютерное железо 2 18.05.2012 15:46
функция чтения из файла с++ Dolilla Помощь студентам 2 26.12.2011 18:54
[Проблема]Создание нового типа файла и ассоциация его с программой Человек_Борща Общие вопросы Delphi 5 07.03.2011 21:35
Копирование файлов без чтения строк. Alex Cones Общие вопросы Delphi 6 18.04.2009 11:07