Новые сообщения · Правила  
Страница 1 из 11
Модератор форума: Berestovskiy 
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » С, C++ » Запись неполной строки из одного текствого файла в другой (в новый файл записывать только часть строки из старого)
Запись неполной строки из одного текствого файла в другой
Здравствуйте.Подскажите пожалуйста:у меня есть исходный файл,в строках которого находится информация о студентах:фио,номер группы,несколько
оценок.фио от номера группы,номер группы от оценок и оценки друг от
друга отделены символом |.В новый файл надо записать только фио и номер
группы,то есть без оценок.Код есть,но не работает,он просто переписывает
все строки в новый файл из старого.Помогите
разобраться,пожалуйста!!!!!!!!(Идея в том,чтобы записывать в файл
символы до второго |)
Код
#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]
1 | Автор: moonlight | 2013-07-06, 21:40   |  Репутация: [ + 0 ]
а в чём собственно проблема? напиши процедурку, которая будет удалять из строки всё не нужное и применяй для каждой строки, после того как считал эту строку из исходного файла

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
2 | Автор: Berestovskiy | 2013-07-06, 23:23   |  Репутация: [ + 211 ]
так вот проблема в написании процедуры по удалению символов.неизвестно количество оценок..помогите пожалуйста
3 | Автор: moonlight | 2013-07-07, 12:12   |  Репутация: [ + 0 ]
Цитата (moonlight)
фио от номера группы,номер группы от оценок и оценки друг от друга отделены символом |.
ищешь в строке первый символ "|" - это фио, ищешь следующий знак "|" - всё что между первым и вторым "|" удаляешь, так как это номер группы и она не нужна, всё:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2013-07-07, 12:34   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2013-07-07, 12:34   |  Репутация: [ + 211 ]
Цитата (Berestovskiy)
ищешь в строке первый символ "|" - это фио, ищешь следующий знак "|" - всё что между первым и вторым "|" удаляешь, так как это номер группы и она не нужна, всё:)

Напишите пожалуйста,как организовать цикл по поиску символа |,если найден первый такой символ,то ничего не делать,а если второй,то перезаписать всё,что было в строке до него в новый файл.пожалуйста
5 | Автор: moonlight | 2013-07-07, 13:42   |  Репутация: [ + 0 ]
есть встроенные функции, которые возвращают индекс указанного символа

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2013-07-07, 16:37   |  Репутация: [ + 211 ]
КАк из существующего файла,в котором несколько строк,в строках данные-как эти данный записать в структуры?ведь потом с ними легче будет работать...
7 | Автор: moonlight | 2013-07-07, 20:09   |  Репутация: [ + 0 ]
омг, структуры не для этого созданы совсем, делай как я тебе говорю

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
8 | Автор: Berestovskiy | 2013-07-07, 21:56   |  Репутация: [ + 211 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » С, C++ » Запись неполной строки из одного текствого файла в другой (в новый файл записывать только часть строки из старого)
Страница 1 из 11
Поиск: