Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
nexus_one
0 / 0 / 1
Регистрация: 13.06.2014
Сообщений: 29
1

Работа с файлами. Спасайте)

13.06.2014, 01:38. Просмотров 292. Ответов 4
Метки нет (Все метки)

Здравствуйте, очень нужна помощь. Есть тест, занесенный в текстовый файл (2.txt) следующей структуры: строка1 - номер вопроса, строка2 - вопрос, строка3 - варианты ответа, строка4 - ввод ответа.
Я построчно его считываю. Когда доходит до считывания строки: "Введите ответ", я ввожу определённую цифру, которую нужно занести в обычный численный массив. Как это сделать?
Вот есть код, но компилятор видит ошибки.
Помогите, пожалуйста, исправить ошибки или может как-то по-другому реализовать)

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
#include <string.h>
#include <conio.h>
#include <iostream>
#include <fstream.h>
#include <cstdio>
using namespace std;
int main()
{
    int n=10;
    int otvet[n];
    int i=0;
    setlocale(LC_ALL, "rus");
    ifstream f("2.txt");
    string s,str="Введите ответ:", bufstr;
    while(!f.eof())
    {
        bufstr=" ";
        getline(f,s);
        bufstr=strtok(s,str);
        if(bufstr!=NULL)
        {
           cin>>otvet[i];
           i++;
        }
        cout<<s;
        getchar();
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2014, 01:38
Ответы с готовыми решениями:

Работа с файлами
написать программу на языке программирования С++ для выполнения задания....

работа с файлами
мне надо записать в файл данные, но чтобы не стирались записи, которые уже...

Работа с файлами С++
Помогите пожалуйста с чтением/записью в файл есть код программы, где из файла...

работа с файлами
Объясните пожалуйста программу. Нужно ли мне создать и записать в текстовый...

Работа с файлами
Ребят у кого есть возможность распишите как лучше сделать для лабы надо....

4
nexus_one
0 / 0 / 1
Регистрация: 13.06.2014
Сообщений: 29
13.06.2014, 01:52  [ТС] 2
Ошибки выдаёт следующие:
Работа с файлами. Спасайте)
0
GuGo1991
269 / 263 / 146
Регистрация: 02.08.2012
Сообщений: 609
13.06.2014, 03:33 3
nexus_one, strtok() не работает со string переменными. Надо скопировать значение string в char:
C++
1
2
3
4
5
6
getline(f, s);
char* chS = new char[s.size() + 1];
strcpy(chS, s.c_str()); //Копируем
char* p = strtok(chS, str);
if(p != NULL) {...}
delete [] chS;
1
nexus_one
0 / 0 / 1
Регистрация: 13.06.2014
Сообщений: 29
13.06.2014, 20:19  [ТС] 4
после внесения этих изменений остаётся такая ошибка: cannot convert `std::string' to `const char*' for argument `2' to `char* strtok(char*, const char*)'

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int n=10;
    int otvet[n];
    int i=0;
    setlocale(LC_ALL, "rus");
    ifstream f("2.txt");
    string s,str="Ââåäèòå îòâåò:", bufstr;
    while(!f.eof())
    {
        bufstr=" ";
        getline(f,s);
        char* chS = new char[s.size() + 1];
        strcpy(chS, s.c_str()); //Êîïèðóåì
        char* p = strtok(chS, str);
        if(p!=NULL)
        {
           cin>>otvet[i];
           i++;
        }
        cout<<s;
        getchar();
        delete [] chS;
    }
}
0
GuGo1991
269 / 263 / 146
Регистрация: 02.08.2012
Сообщений: 609
13.06.2014, 20:35 5
nexus_one, объявьте str как char
C++
1
char str[] = "Введите ответ:";
0
13.06.2014, 20:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2014, 20:35

работа с файлами
в программе не работает удаление... что делать?? #include &quot;stdafx.h&quot;...

Работа с файлами C++
Условие: Скопировать из файла F1 в файл F2 все строки, в которых содержится два...

Работа с файлами
Проблема заключается в следующем: у меня есть некоторый файл, структуру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru