|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - С :запись из одного файла в другой только часть строки |
|
C/C++ - С :запись из одного файла в другой только часть строки
|
Новый участник Сообщения: 1 |
Здравствуйте.Подскажите пожалуйста:у меня есть исходный файл,в строках которого находится информация о студентах:фио,номер группы,несколько
оценок.фио от номера группы,номер группы от оценок и оценки друг от друга отделены символом |.В новый файл надо записать только фио и номер группы,то есть без оценок.В данном коде идея в том,чтобы записывать посимвольно до второй черточки,то есть до второго символа |.Но он просто переписывает в новый весь старый.помогите пожалуйста,замучилась уже с этим заданием. #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 ,b=0; char j=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("Введите фамилию имя отчество студента через пробел: "); gets(dob); while(feof(t)==NULL) { fgets(s,200,t); while(j=!2) { if(s[i]=='|') {j++; i++;} s[i+1]='\0'; fputc(s[i],nf); } fputs(s,nf); break; } fclose(t); fclose(nf); } |
|
Отправлено: 22:10, 07-07-2013 |
![]() Пользователь Сообщения: 123
|
Профиль | Отправить PM | Цитировать Цитата alfaw:
Вы идете по строке до тех пор, пока не найдете вторую вертикальную черту (попутно помещая символы в файл). Находите вторую вертикальную черту, ставите завершающий нуль.. И пихаете "обрезанную" строку в файл, хотя она там уже есть (накопилась из единичных символов, пока Вы вертикальные черточки искали). Вообще говоря, задача звучит типично. И типичным решением будет использование awk: |
|
Отправлено: 23:40, 07-07-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Экспорт данных из одного txt файла в другой | TRaMeLL | Скриптовые языки администрирования Windows | 31 | 17-10-2012 11:33 | |
CMD/BAT - [решено] Сравнение файлов и замена значения из одного файла в другой. | Aleks911tat | Скриптовые языки администрирования Windows | 12 | 25-08-2012 22:27 | |
CMD/BAT - Перенос строк из одного файла в другой | jackscorpse | Скриптовые языки администрирования Windows | 0 | 25-08-2012 00:31 | |
PowerShell - [решено] Поиск и вставка информации из одного csv-файла в другой | IvanXXL | Скриптовые языки администрирования Windows | 1 | 20-07-2011 12:48 | |
Как экспортировать поле из одного dbf файла в другой? | Raman | Программное обеспечение Windows | 1 | 04-04-2008 14:30 |
|