Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
13 / 8 / 5
Регистрация: 28.03.2022
Сообщений: 83

Чтение и запись данных структуры

12.04.2022, 21:51. Показов 969. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    string path = "myFile.txt";
    fstream fs;
    string test ;
    
    
    fs.open(path, fstream::app | fstream::in | fstream::out);
    if (!fs.is_open())
    {
        cout << "ошибка открытия файла" << endl;
 
    }
    else
    {
        fs >> test;
        cout << test;
        
    }
}
Создал как пример. Пишу курсовую, есть вопрос, у меня в курсовой структуры, расписаны через геттеры и сеттеры. В графе автор, прописано 3 геттера и сеттера для имени,фамилии и отчества. Данные файла храняться построчно. Как мне сделать так чтобы три переменные с файла(прописанные через пробел) отвечали к одному сеттеру и геттеру.
Миниатюры
Чтение и запись данных структуры   Чтение и запись данных структуры  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.04.2022, 21:51
Ответы с готовыми решениями:

Чтение и запись данных структуры
Написать приложение для создания текстового файла, в котором записать информацию. Запись информации оформите в цикле. В программе...

Чтение и запись структуры в C++
Добрый день, программисты! В общем такая ситуация. Страшно запутался в fread fwrite (это кажется C) и в file.read, file.write (методом...

Чтение/запись структуры
День добрый! Помогите пожалуйста решить задачу: Сформировать текстовый файл, имеющий следующую структуру: фамилия, адрес, марка автомобиля,...

6
13 / 8 / 5
Регистрация: 28.03.2022
Сообщений: 83
12.04.2022, 21:53  [ТС]
пример этот написал для того чтобы понять как лучше записывать в файл данные, через стринг или чар, так и не понял
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
12.04.2022, 22:06
Цитата Сообщение от maricruz Посмотреть сообщение
В графе автор, прописано 3 геттера и сеттера для имени,фамилии и отчества. Данные файла храняться построчно. Как мне сделать так чтобы три переменные с файла(прописанные через пробел) отвечали к одному сеттеру и геттеру.
Требуется пояснение. Какие числа для имени фамилии и отчества? Что значит "отвечали сеттеру"?
0
Заблокирован
12.04.2022, 22:08
Цитата Сообщение от maricruz Посмотреть сообщение
Как мне сделать так чтобы три переменные с файла(прописанные через пробел) отвечали к одному сеттеру и геттеру.
Они, переменные, ни за что не отвечают, они просто есть, отвечают методы/функции за то что будет с этими переменными происходить.

Цитата Сообщение от maricruz Посмотреть сообщение
пример этот написал для того чтобы понять как лучше записывать в файл данные, через стринг или чар, так и не понял
С помощью string однозначно. Читать безопаснее, работать легче.

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

Ну а если извне (не рекомендую), то как то так :

C++
1
2
3
4
5
6
7
8
9
10
11
12
string str;
int num;
Student st; // создали студента по умолчанию, хотя под вопросом такой подход , не бывает студентов по умолчанию ...
file >> num;
st.setReg(num);
file >> str;
st.setName(str);
file >> str;
st.setSurName(str);
file >> str;
st.setLastName(str);
 // ... и так далее
0
13 / 8 / 5
Регистрация: 28.03.2022
Сообщений: 83
12.04.2022, 22:17  [ТС]
John Prick, на картинке же таблица, там всё цифры одинаковые, там где написано автор, под ним три цифры, это три геттера, вопрос в том как сделать так чтобы при выводе одного геттера, а не 3,у меня причиталось 3 числа с файла написанные через пробелы(ну в моём случае потом это будут стринги)

Добавлено через 7 минут
SmallEvil, смотри, в файле у меня значения допустим 1 2 3 4 5 6, каждое значение отвечает свою переменную которая в шапке таблицы, начем с того что я записываю данные из файла в структуру, дальше записываю из структуры в вектор и затем через цикл прохожусь по файлу вывожу данные на экран. Выглядит примерно так

for(int I= 0; I<vector1.size() ;I++)
{
cout<<vector1[1].Get_avtor() ;
}
Так для того чтобы вывести автора, у меня 3 переменные которые отвечают за имя фамилию и отчество (допустим цифры 1,2,3)
Я хочу сделать так чтоб была одна переменная которая прочитает эти три цифры записанные через пробел и запишется в одну переменную, надеюсь понятно пытаюсь донести мысль
0
Заблокирован
12.04.2022, 22:34
Лучший ответ Сообщение было отмечено maricruz как решение

Решение

Цитата Сообщение от maricruz Посмотреть сообщение
надеюсь понятно пытаюсь донести мысль
Нет, не понятно.

Цитата Сообщение от maricruz Посмотреть сообщение
Так для того чтобы вывести автора
Так при чем тут файл ?

Сделайте метод возврата полного имени, например.
C++
1
2
3
string Author::getFullName(){
   return surname + ' ' + name + ' ' + lastname; // surname, name, lastname - поля структуры.
}
или таким же способом через геттеры, без разницы.

Добавлено через 1 минуту
И в этом месте, вам нужно выложить свой код, ибо ничего не понятно.
1
13 / 8 / 5
Регистрация: 28.03.2022
Сообщений: 83
12.04.2022, 22:51  [ТС]
SmallEvil, SmallEvil, я тебя походу понял, я просто уже от компа отошёл чтоб скинуть больше кода

Добавлено через 15 минут
Цитата Сообщение от SmallEvil Посмотреть сообщение
string Author::getFullName(){
   return surname + ' ' + name + ' ' + lastname; // surname, name, lastname - поля структуры.
}
у меня выглядит следующим образом
string Data::Get_author_surname()
{
return author_surname;
}
string Data::Get_author_name()
{
return author_name;
}
string Data::Get_author_patronymic()
{
return author_patronymic;
}


Цитата Сообщение от SmallEvil Посмотреть сообщение
return surname + ' ' + name + ' ' + lastname;
не знал что так можно, поэтому это и был походу ответ на мой вопрос, завтра буду пытаться сделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2022, 22:51
Помогаю со студенческими работами здесь

Запись и чтение структуры с файла
Привет всем.Столкнулся с проблема записи структуры в файл и чтения ее из файла.Вот сама структура: struct papa { ...

запись и чтение структуры в бинарник
как правильно записывать и считывать структуру из бинарника? при этом коде программа виснет сами структуры struct employee { ...

Запись и чтение структуры в/из файла
Столкнулся с очередной проблемой. Есть несколько участков кода: Структура &quot;Абонент&quot;: struct Subscriber { char...

Запись и чтение структуры из файла
Здравствуйте, у меня дано такое задание: Составить программу &quot;Список студентов группы&quot;, в котором указаны - Фамилия,Имя,пол, место...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru