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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2013, 00:31   #11
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Код:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string.h>
#include "locale.h"
using namespace std;

typedef struct _STUDENT 
{
	char name[50];
	char otchestvo[50];
	char family[50];
	int group;
	int marks[50];
	int marksCount;
}STUDENT, *PSTUDENT;

void main ()
{
	setlocale(LC_ALL, "Russian");
	system("cls");  // Очистка экрана

// 	char famil2[30];
// 	char imya2[30];
// 	char otchest2[30];
// 	char	nomer2[20];
// 	int i ,b=0;
// 	char j=0;
// 	char dob[100];

	char s[200];
	FILE *fIn, *fOut;

	fIn = fopen("input.txt", "rt+");//открываю исходный текстовый файл
	if(fIn == NULL)
	{
		printf("Ошибка при открытии файла.\n");
		system ("pause");
		exit(1);
	}

	fOut = fopen ("output.txt", "wt+");//создаю новый файл для перезаписи в него строк

//	printf("Введите фамилию имя отчество студента через пробел: ");
//	gets(dob);
	STUDENT stdntTmp;
	while(!feof(fIn))
	{ 
		fgets(s,200,fIn);
		/* strtok example */
		char * pch;

		//char * pchGroup, chGroup;

		pch = strtok (s," |");
		strcpy(stdntTmp.family, pch);
		
		pch = strtok (NULL," |");
		strcpy(stdntTmp.name, pch);

		pch = strtok (NULL," |");
		strcpy(stdntTmp.otchestvo, pch);

		pch = strtok (NULL," |");
		stdntTmp.group = atoi(pch);

		int i = 0;
		pch = strtok (NULL," |");
		while (pch != NULL)
		{
			 // последний вызов strtok() возвращает pch[0] == '\n', поэтому и проверка
			if (pch[0]>'0' & pch[0] < '6')
			{
				stdntTmp.marks[i] = atoi(pch);
				++i;
				stdntTmp.marksCount = i;
			}
			pch = strtok (NULL," |");
		}			
		
		// временная структура теперь заполнена данными
		// с которыми можно делать что-то

		fprintf(fOut, "%s %d\n", stdntTmp.family, stdntTmp.group);		
	}

	fclose(fIn);
	fclose(fOut);
}
что-то типа такого получилось..
Smogg вне форума Ответить с цитированием
Старый 08.07.2013, 01:10   #12
Миасс
Пользователь
 
Регистрация: 02.07.2013
Сообщений: 13
Радость

спасибо))буду разбираться
Миасс вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись структуры из файла Evgeniy21 Общие вопросы C/C++ 2 15.05.2012 13:54
Запись структуры в файл. Farrel Общие вопросы C/C++ 4 12.04.2011 20:32
Запись структуры в конец файла Ozerich Общие вопросы C/C++ 0 03.05.2010 23:10
Запись структуры и чтение из файла [MI_nor] Общие вопросы C/C++ 6 08.04.2009 15:52