Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2013, 19:52   #1
Lizoveta
Пользователь
 
Регистрация: 22.06.2013
Сообщений: 44
По умолчанию fscanf, работа с файлами, C++

Добрый вечер, подскажите, пожалуйста, правильно ли у меня написана функция ScanFileRecord. Потому что, я не очень понимаю как должна работать fscanf и почему он ничего нового не вывел. Т.е. ошибок нет, но и результата так такого тоже нет. Что все же делает fscnaf и что должно было быть на экране??
Очень нужна Ваша помощь

Код:
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define  MALE_SEX 0; 
#define FEMALE_SEX 1;

typedef struct 
	{
		char name[50]; //имя
		int age; //возраст
		int sex; //пол человека
		char phone[15]; //телефон
	} Record;

void PrintRecord(const Record*);
void PrintFileRecord( FILE*,const Record*);
void ScanFileRecord(FILE*, Record*);

int _tmain(int argc, _TCHAR* argv[])
{	
	Record item;
	Record* item3= new Record;
	Record* item2= new Record;

	FILE*fl=fopen("telephon.txt", "w");
	FILE*fl2=fopen("telephon.txt","r");

	item.age=18;
	strcpy_s(item.name,"Pushkin A.S.");
	item.sex=0;
	strcpy_s(item.phone,"+79117705551");

	item2->age=25;
	strcpy_s(item2->name, "Dantes");
	item2->sex=0;
	strcpy_s(item2->phone,"+79119191032");

	PrintRecord(&item);
	printf("\n"); 
	PrintRecord(item2);

	printf("\n");
	printf("size record: %d\n", sizeof(Record));
	printf("\n");

	item.age=36;
	PrintRecord(item2);  
	PrintFileRecord(fl,item2); 

	ScanFileRecord(fl2,&item); 
	fclose(fl);
	fclose(fl2);
	delete item2;
	delete item3;
	getchar();
	return 0;
}

void PrintRecord (const Record* x)   //вывод на экран
{
	printf("name: %s\n", x->name);
	printf("sex: %d\n", x->sex);
	printf("age: %d\n",x->age);
	printf("phone: %s\n", x->phone);
	printf("size: %d\n", sizeof(*x));
}
void PrintFileRecord (FILE*f, const Record* x)  //вывод в файл
{
	fprintf(f, "name: %s\n", x->name);
	fprintf(f, "sex: %d\n", x->sex);
	fprintf(f, "age: %d\n", x->age);
	fprintf(f, "phone: %s\n", x->phone);
}
void ScanFileRecord (FILE*f, Record* x)
{
	printf("\n");
	printf("Hooray!\n");
	printf("\n");
	fscanf(f, "%d\n",&x);
}
Lizoveta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
fscanf и байтовый массив Berlioz Общие вопросы C/C++ 5 11.01.2013 20:39
fscanf и загрузка параметров Berlioz Общие вопросы C/C++ 0 16.12.2012 14:43
fscanf Артэс Общие вопросы C/C++ 2 04.10.2011 11:54
Аналог функции fscanf (C++) Andrey_k Помощь студентам 7 10.03.2011 19:59
выборка строк fscanf peplenko Общие вопросы C/C++ 7 06.09.2010 21:52