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

Считать строки файла и поместить в динамический массив строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разбираюсь с программой http://www.cyberforum.ru/cpp-beginners/thread725788.html
Разбираюсь с программой, подскажите, пожалуйста, Что конкретно делает линия 10 в данной тест- программе? #include <iostream> 5. #include "ShoppingCart.h" 6. using namespace std; 7. int main() 8. { 9. cout << "Testing Shopping Cart Class";
C++ Возникли сложности По ходу изучения возник вопрос: Данное объявление - легально для объявления С String? char test = { 'a', 'b', 'c', '\0' }. Добавлено через 4 минуты Какое значение переменной named position after these statements execute? string string1("Grade: A"); http://www.cyberforum.ru/cpp-beginners/thread725786.html
C++ Написать 4 функции для матриц(Создание матрицы, печать, поиск минимального элемента, удаление столбцов)
Написать функции: 1. создания матрицы размерности A , элементы матрицы А – вещественные числа. Параметры функции – сама матрица, ее размерность. 2. печати матрицы. Параметры функции – сама матрица, ее размерность. 3. поиска минимального элемента матрицы в заданном столбце k. 4. Изменения матрицы – удалить столбцы матрицы, последний элемент которых отрицателен.
C++ Вывести на экран слова, в которых гласных букв больше чем согласных
Нужно было написать программу, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива. Вывести на экран слова, а) в которых гласных букв больше чем согласных, б) в которых согласных букв больше, чем гласных.Не знаю в чем проблема,но результат выводится не корректно. #include "stdafx.h" #include "Windows.h" #include "stdio.h" #include "string.h" #include...
C++ Умножение матрицы на число с указателем http://www.cyberforum.ru/cpp-beginners/thread725775.html
Дана матрица М (5 6) и константа С. Вычислить матрицу D, равную произведению элементов матрицы М на константу. используя указатель. Помогите не как не соображу с этим указателем как написать....
C++ Задали текст, как последовательность строк, содержащих только латинские буквы Желательно в Visual Studio 2010 Задали текст, как последовательность строк, содержащих только латинские буквы. Составить программу, которая сортирует каждую строку в обратном алфавитном порядке. Для сортировки одной строки написать функцию. Использовать метод сортировки вставками. подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.12.2012, 07:44     Считать строки файла и поместить в динамический массив строк
1. Ты не создал массив
C++
1
char *mas[20] = {NULL};
.
2. Зачем копировать, когда можно сразу
C++
1
 fgets(mas[i], 20, fp);
?
3. Так как количество строк заранее не известно, то или массив должен расти по мере чтения строк, или файл надо прочитать дважды, первый раз в буфер на одну строку и сосчитать количество строк, а потом создать массив и уже тогда читать в массив.
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
char *mas[20]=NULL;
size_t count=0;
char **buffer;
FILE *fp;
fp=fopen("input.txt","r");
if(fp == NULL)
{
 printf("\nОшибка открытия файла...");
}
else
{
 while(!feof(fp))
 {
  Buffer=new char[Count+1][20]; // Не уверен в синтаксисе этой строки, ни когда не работал с динамическими массивами статических массивов.
  fgets(Buffer[Count], 20, fp);
  if (mas)
  {
   delete [] mas;
  }
  mas=Buffer;
  ++Count;
 }
 printf( "\nФайл прочитан.");
}
fclose(fp);
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru