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

Нужна помощь. Копирование строки файла в элемент массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вопрос по DialogBox'ам http://www.cyberforum.ru/cpp-beginners/thread13958.html
Помогите сделать простенькую программку. Есть окошко1, в нем кнопка. Жмем кнопку, наше окошко исчезает и появляется окошко2.
C++ Чтение заданной строки файла Добрый всем день. Проблема простая: у меня есть файл, в котором есть несколько строк, не всмысле char или string, а в смысле строк - строчек, там 10-20 штук... Подскажите функцию С++ обращения к i-ой строке, на подобии обращения к i-му элементу массива. Функция типа SEEK в ПАСКАЛЕ. Очень признателен P.S. fseek и прочие функции !!! С !!! не предлагать http://www.cyberforum.ru/cpp-beginners/thread13946.html
C++ Две функции на С++
Помагите пожалуймста решить функции, при подставлении "р" решались "А" и "А2" :scratch::-[ Буду ооочень благодарен :)
Массивы,инициализация(qbasic'овские read,data) C++
Недавно начал изучать С++. Маленький совет: книги не покупай, а скачивай через интернет.(если есть возможность конечно) Некоторые книжки не сразу понятны, и ты бысторо сможешь её поменять. Конечно в таком варианте есть много минусов, но главный плюс это: Экономичность. Вообще на сайт зашел что бы задать очередной вопрос: Напомню что перехожу на С++ с QBASICа. Скажите пожалуйста есть ли...
C++ Помогите чайнику с инкрементом... http://www.cyberforum.ru/cpp-beginners/thread13877.html
Здравствуйте! Понимаю, конечно, что вопрос наверное дурацкий... но я только начал знакомство с С++, а этот вопрос не дает покоя... int i=0; cout<<"i = "<<i<<", (i++)= "<<i++<<endl; cout<<"i = "<<i; Как мне казалось, поскольку инкремент постфиксный, то i должно увеличится только ко второй строке, однако результат выполнения таков: i = 1, (i++)= 0 i = 1 Наверное я чего-то не знаю.......
C++ Динамический массив символов Что я делаю не так? вот код: header.h #include<iostream> #include<string.h> class m{public: m();~m(); void set(char* _str); private:char *str; подробнее

Показать сообщение отдельно
Vasiliusis
37 / 37 / 0
Регистрация: 14.10.2008
Сообщений: 127

Нужна помощь. Копирование строки файла в элемент массива - C++

14.10.2008, 19:54. Просмотров 1712. Ответов 5
Метки (Все метки)

Вот такой код. При исполнении возникает ошибка. Нужно копировать строку в элемент массива
Код
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

class Record
{
public:
    string surname;
    string birthday;
    string address;

    void clearFile()
    {
        ofstream clear;
        clear.open("file.txt");
        clear.close();
    }

    void setElements(string name, string date, string location)
    {
        surname = name;
        birthday = date;
        address = location;
        writeToFile();
    }

    void writeToFile()
    {
        ofstream toFile;
        toFile.open("file.txt", ios::app);
        toFile<<surname<<" "<<birthday<<" "<<address<<endl;
        toFile.close();
    }

    void tokenize(char* array[])
    {
        char buffer[100];
        char *surnamePtr;
        unsigned i = 1;

        ifstream readFromFile;
        readFromFile.open("file.txt");

        while (i != 8)
        {
            readFromFile.getline(buffer, 99);
            surnamePtr = strtok(buffer, " ");
            strcpy(array[i],surnamePtr);
            cout<<array[i]<<endl;
            i++;
        }




        readFromFile.close();
    }
};

void main()
{
    char* surnames[20];

    for (int j = 0; j < 20; j++)
        surnames[j] = "0";

    Record myRecord;
    myRecord.clearFile();
    myRecord.setElements("Caine ","5/5/88 ","Peace Street, 12");
    myRecord.setElements("Grissom", "8/17/56", "Las Vegas, NV");
    myRecord.setElements("Griss", "9/1/65", "San Antonio, TX");
    myRecord.setElements("Delko ","1/1/90 ","Garlem Street, 72");
    myRecord.setElements("Brown ","10/12/56 ","Linkoln Street, 89");
    myRecord.setElements("Albert ","12/8/91 ","Wall Street, 78");
    myRecord.setElements("Brass ","15/6/78 ","Main Street, 7");
    myRecord.tokenize(surnames);

    cout<<endl<<endl<<endl;

    for (int i = 0; i < 7; i++)
    {
        cout<<surnames[i]<<endl;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru