Здравствуйте.Подскажите пожалуйста:у меня есть исходный файл,в строках которого находится информация о студентах:фио,номер группы,несколько
оценок.фио от номера группы,номер группы от оценок и оценки друг от
друга отделены символом |.В новый файл надо записать только фио и номер
группы,то есть без оценок.Код есть,но не работает,он просто переписывает
все строки в новый файл из старого.Помогите
разобраться,пожалуйста!!!!!!!!(Идея в том,чтобы записывать в файл
символы до второго |)
Код
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string.h>
#include "locale.h"
using namespace std;
void main ()
{
setlocale(LC_ALL, "Russian");
system("cls"); // Очистка экрана
char famil2[30];
char imya2[30];
char otchest2[30];
char nomer2[20];
int i = 1,x=0,y=0;
char s[200];
char dob[100];
FILE *t, *nf;
t = fopen("D:\\программирование\\прога\\tenis\\tenis\\student.txt", "rt+");//открываю исходный текстовый файл
if(t == NULL)
{
printf("Ошибка при открытии файла.\n");
system ("pause");
exit(1);
}
nf = fopen ("stud.txt", "wt+");//создаю новый файл для перезаписи в него строк
printf("Введите фамилию имя отчество студента через пробел: ");
scanf("%s",&dob);
x=strlen(dob); x--;
while(feof(t)==NULL)
{ y=0;
fgets(s,200,t);
for (i=0;i<=x;i++)
if (dob[i]==s) y++;
if (y==x)
{
y=0;
for (i=0;y<2;i++)
if (s==' |') y++;
s[i+1]='\0';
}
fputs(s,nf);
s[0]='\0';
}
fclose (t);
fclose (nf);
system ("pause");
}[/i]