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

Чтение из файла в динамический массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка "Stack around the variable 'a' was corrupted" при завершении программы http://www.cyberforum.ru/cpp-beginners/thread1496820.html
Учусь создавать списки. Идея такова чтобы создать список в отдельном cpp, а пользователь имел доступ только к функциям добавления, удаления и т.д. Все было хорошо, но вот столкнулся с проблемой после завершения программы всегда пишет: Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted. struct Rab { char *name; }; struct List{ private: Rab elem;
C++ Отсортировать элементы одномерного массива по возрастанию, используя метод прямого подбора Составить программу, позволяющую отсортировать элементы одномерного массива по возрастанию, используя метод прямого подбора (через поиск минимального элемента массива). void __fastcall TForm1::Button1Click(TObject *Sender) { int mas; int min,nmin,z,i; for ( i=0;i<StringGrid1->ColCount;i++) {mas=StrToInt(StringGrid1->Cells); min=mas; http://www.cyberforum.ru/cpp-beginners/thread1496813.html
Калькулятор, через шаблонные функции C++
#include<iostream> #include<locale.h> using namespace std; template<typename T> auto sl () -> decltype (a+b) { T a,b; cout<<"Введите а:"; cin>>a;
Пользователь вводит строку. Определить количество букв (рус eng), количество цифр и количество остальных C++
в чем проблема не пойму работает на английских буквах на цифрах и остальные символы вроде считает а вот русские не хочет их забивает как остальные помогите разобраться что не так #include <iostream> #include <time.h> #include <conio.h> using namespace std; unsigned long long dlinna(char *p), chislo = 0, bukvi = 0, rusbukvi = 0, ostal=0; void main(){ setlocale(LC_ALL, "rus");...
C++ Найти минимальное время, за которое можно поджарить все котлеты http://www.cyberforum.ru/cpp-beginners/thread1496784.html
Добрый день, хочу представить вашему вниманию небольшую задачку: На сковородке одновременно можно положить k котлет. Каждую котлету нужно с каждой стороны обжаривать m минут непрерывно. За какое наименьшее время удастся поджарить с обеих сторон n котлет? Входные данные В единственной строке входного файла INPUT.TXT записано три натуральных числа: k, m, n, не превышающих 30000. ...
C++ ТЕСТЫ Типы данных на С Какой тип машинно-зависимый А. unsigned long Б. unsigned char В. unsigned int Г. unsigned short Д. unsigned long long Какой тип машинно-независимый А. unsigned Б. double подробнее

Показать сообщение отдельно
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 303
10.07.2015, 19:53     Чтение из файла в динамический массив
В указали не правильный тип данных так как чар это символ и считывает он по символьно например 10 это два символа 1 и 0

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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    fstream fs("1.txt");
    if (!fs)
    {
        cout << "File not found\n";
        system("pause");
    }
    int count = 0;
    int a;
 
    while (!fs.eof())
    {
        fs >> a; 
        count++;
    }
 
 
    fs.clear();
    fs.seekg(0);
    int *mas = new int[count];
    for (int i = 0; i<count; i++)
        fs >> mas[i];
    for (int i = 0; i<count; i++)
        cout << mas[i] << ' ';
    cout << "\n";
    fs.close();
    system("pause");
}
Добавлено через 6 минут
nmcf
Цитата Сообщение от nmcf Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
int count =0;
 int a; 
while(true)
{
fs >> a;
if (fs.fail() || fs.eof()) break;
 ++count;
}
зачем делать два условия в цикле и в разветвлении
C++
1
2
3
4
5
while (!(fs.fail() || fs.eof()))
    {
        fs >> a; 
        count++;
    }
 
Текущее время: 01:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru