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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Leisanka
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
#1

Как записать данные в фаил - C++

07.12.2012, 19:34. Просмотров 443. Ответов 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#include <conio.h>
 
//using namespace std;
 
struct STUDENT
{
       char fio[20]; 
       char oc[6]; 
} ;      
       
int main() 
{
     FILE *f; 
struct STUDENT tz;
int i,
s;
 
if ((f=fopen("st.txt","r"))==NULL)
{ 
  puts ("Г”Г*éë st.txt Г*ГҐ Г*Г*éäåГ*");
  return 0;
}
puts ("\nFamily I.O  Sr. Ball");
puts("--------------------");
while (fgets((char*)&tz, sizeof(struct STUDENT),f)!=NULL)
{ for (i=0,s=0;i<4; i++)
      s+=tz.oc[i]-'0';
  tz.fio[19]='\0';
  printf ("%s%.1f\n",tz.fio, (float)s/4);
}
{FILE *f1;
char fname[10];
puts ("Vvedite imya faila:");
gets (fname);
//f1=fopen(fname,"r+");
if ((f1=fopen("fname","r+"))==NULL)
{puts ("File ne naiden");
return 0;
};
//fwrite ("\nFamily I.O  Sr. Ball");
 
fclose(f1);
fclose(f);
getch();
}}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 19:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как записать данные в фаил (C++):

В фаил записываются не верные данные - C++
Почему мне в файл записывает не только я введу, а это: 慖楳楬䌀湡散r㐱글潂摧湡吀畡畲s㌲글湁牤祩䜀浥湩i㐱글 #include &lt;iostream&gt; #include &lt;iomanip&gt; #include...

Как записать в файл данные? - C++
Вот готовый код: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;locale&gt; #include &lt;conio.h&gt; using namespace std; int...

Куда и как записать данные - C++
Из названия темы не совсем понятно я думаю, но суть в следующем. Ранее с такими проблемами не сталкивался в связи с малым опытом...

Как считать, записать данные с хостинга? - C++
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Как считать данные с хостинга ftp? Программно, через с++. Какая-нибудь...

как записать данные из Int файл - C++
как записать данные из Int файл

Как из файла записать данные в другой файл? - C++
странная задача, но все же надо открыть файл, прочитать и переписать их в другой файл посторочно... кто знает си++ думаю простая...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
svkpro
8 / 8 / 0
Регистрация: 07.12.2012
Сообщений: 143
07.12.2012, 20:16 #2
завести переменную, скажем типа char[количество символов которое будет содержатся в имени файла], и заполнить ее путем ввода с клавиатуры, а потом создаете файл с параметром "для записи" то есть "w" и пишите туда что хотите)

Добавлено через 17 минут
ну или так))
Код
}
FILE *fp;
char c, *filename;
printf("File name?");
filename = GetStringAt(SIZE);
fp =fopen(filename, "w");
if (!fp)
    Error("Opening file");
wile((c=fgetc(fp)) !=EOF)
   putchar (c);
fclose(fp);
free(filename);
return 0;
}
Добавлено через 15 минут
SIZE объявляется - #define SIZE размер(скажем 128)
Error - void Error(const char *message);
ну и все необходимые библиотеки))
Leisanka
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 20:57  [ТС] #3
а какие бибоблетеки надо вставить?)
svkpro
8 / 8 / 0
Регистрация: 07.12.2012
Сообщений: 143
07.12.2012, 22:28 #4
Код
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <alloc.h>
#include "gets.h"
это С библиотеки, в С++ они по моему без расширения .h попробуйте)
Leisanka
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 23:57  [ТС] #5
все равно не компилируется, ругается на GetStringAt и Error(
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
08.12.2012, 01:25 #6
запись в файл данной структуры:
C++
1
2
3
4
5
6
7
8
9
#include <fstream>
 
...
char fileName[20]; // важно указывать будет еще и расширение файла
std::cin >> fileName;
std::ofstream o(fileName); // создаем поток для вывода в файл
// Допустим есть структурная переменная STUDENT s;
o << s.fio << " " << s.oc << std::endl;
o.close(); // закрываем файл
svkpro
8 / 8 / 0
Регистрация: 07.12.2012
Сообщений: 143
08.12.2012, 02:35 #7
ВЫ меня извините за не рабочий код) вот рабочий:
Код
#include "stdafx.h"
#include <iostream>
using namespace std;

struct kniga {
			char avtor[10];		
			};
int main()
{
	kniga s;
	kniga* st=&s;
    setlocale(0,""); // включаем кириллицу в консоли
	char nf[20];
	cin>>nf;
    FILE * file = fopen(nf, "w");
    if (file) // если есть доступ к файлу,
    {
 
		char * str =s.avtor; // инициализируем строку
        bool result = fputs(str, file); // и записываем ее в файл
        if (!result) // если запись произошла успешно
            cout << "Строка в файл успешно записана!" << endl; // выводим сообщение
    }
    else{
    cout << "Нет доступа к файлу!" << endl;
    fclose(file);
	}

	system("pause");
    return 0;
}
правда сдесь структура не заполнена так в файл напишет МММММ а код рабочий)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 02:35
Привет! Вот еще темы с ответами:

Как записать данные из одномерного массива в двумерный? - C++
Подскажите пожалуйста новичку, как записать данные из одномерного массива в двумерный? уже голову ломаю 2 недели... Есть вот такой...

Как считать данные с файла и записать в массив? - C++
В файле данные расположены следующим образом : Radius: 1 Coord point: (5;10) Radius: 5 Coord point: (1;7) Radius: 6 Coord...

Как записать данные из файла в двумерный массив? - C++
Дан файл координат вершин ломаной линии на плоскости. Определить, имеет ли ломаная линия самопересечения, если да, то записать в файл G...

Как записать данные из файла в массив структур? - C++
В коде я ввожу данные и их записывает в файл, помогите пожалуйста записать данные из файла в массив структур #include &lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.12.2012, 02:35
Ответ Создать тему
Опции темы

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