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

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

Восстановить пароль Регистрация
 
Leisanka
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 19:34     Как записать данные в фаил #1
короче, написала прогу, к-ая считывает из файла данные. Нужно изменить программу так, чтоб результат выводился не на экран, а записывался в файл, имя к-го вводится с клавиатуры. не знаю, как все это грамотно, оформить. надеюсь на вашу помочь. нужно уже сегодня. заранее спасибо

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();
}}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
svkpro
 Аватар для 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
 Аватар для 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
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,397
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(); // закрываем файл
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 02:35     Как записать данные в фаил
Еще ссылки по теме:

C++ Как записать данные из файла в двумерный массив?
Как записать в файл данные? C++
C++ Как считать данные с файла и записать в массив?

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

Или воспользуйтесь поиском по форуму:
svkpro
 Аватар для 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;
}
правда сдесь структура не заполнена так в файл напишет МММММ а код рабочий)
Yandex
Объявления
08.12.2012, 02:35     Как записать данные в фаил
Ответ Создать тему
Опции темы

Текущее время: 11:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru