Форум программистов, компьютерный форум CyberForum.ru

Работа с текстовым файлом. Удаление строки. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив размером 10 на 10, заполненный квадратами чисел. Объяснить код. http://www.cyberforum.ru/cpp-beginners/thread916978.html
Создать массив размером 10 на 10 и заполнить его квадратами чисел.(первый индекс обозн. десятки, второй единицы). int main() { int m; for(int i=0;i<10;i++) { for(int u=0;u<10;u++) {
C++ Посчитать сколько двоичных единиц содержит каждое число массива. Всем доброго дня! Вообщем дали на практике задание: Дан цифровой массив, посчитать сколько двоичных единиц содержит каждое число. Помогите пожалуйста. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread916955.html
Безымянный аргумент функции C++
функция принимает аргумент, но у него нет имени void f(int) { cout << "Hello world!"; } int main() { int n = 10;
C++ Одномерные массивы.Сформировать случайным образом два массива d(10) и a(10)
Сформировать случайным образом два массива d(10) и a(10). Сложить их. В новом массиве найти первый отрицательный элемент и вывести его на экран. Если отрицательных элементов нет, то дать об этом сообщение. помогите пожалуйста)
C++ Параллельное программирование в С++ http://www.cyberforum.ru/cpp-beginners/thread916891.html
Здравствуйте! я новичок в параллельном программировании. Помогите пожалуйста с задачкой!! Есть одна глобальная переменная, которая должна модифицироваться двумя потоками. Синхронизировать эти потоки по средствам критической секции. Заранее спасибо)
C++ решения уравнения помогите написать программу которая решит уравнение f(X)=(X^3+^2)/(1-X^2+X^3) по формуле симпсона где а=0,1 в=3,2 е=0,001 с подробным описанием решения подробнее

Показать сообщение отдельно
studentka2012
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 20
03.07.2013, 13:33     Работа с текстовым файлом. Удаление строки.
День добрый.такой вопрос:мне нужно удалять из файла строчку с данными,если есть совпадение с введенной строкой.то есть,если я ввожу фамилию и такая фамилия есть в строке файла,который я открываю,то эту строчку нужно удалить.ПРоблема в том,что я не знаю,как удалить нужную строчку.И еще- вылезает запись "введите фамилию" столько раз,сколько записей в файле.а нужно по идее просто один раз ввести фамилию и чтоб по строчкам пройтись и найти такую подстрочку.Все строчки,в которых нет совпадений,я записываю в новый файл...помогите пожалуйста разобраться
ВОТ мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#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");  // Очистка экрана
    int a,b=1;
    char famil2[30];
    char famil[20];
    char imya[30];
    char otchest[30];
    int nomer;
    int ocenki;
    int i,o,p=1;
    int count=1;
    char s[200];
    FILE*t,*nf;
    t=fopen("D:\\программирование\\прога\\tenis\\tenis\\student.txt","r+");
    if((t=fopen("D:\\программирование\\прога\\tenis\\tenis\\student.txt","r+"))==NULL)
        {printf("Ошибка при открытии файла.\n");
            exit(1);
        }
    nf=fopen ("temp.txt","w");//создаю новый файл для записи внего строк,в которых нет совпадений с введенной фамилией
 
        
    while(!feof(t))
        {
            printf("Введите фамилию: ");
            scanf("%s",famil2);
            if (fgets(s,200,t))
            {
                if(s==famil2)//если в строке есть такая фамилия
                {
                char*stud;
                stud=strstr(s,famil2);//функция поиска подстрок в строке
                //не знаю,как удалить строку???
                }
                if (s!=famil2)//если нет совпадений
                    fputs(s,nf);//записываю строку в новый временный 
            }
        }
    fclose (t);
    fclose (nf);
    remove("D:\\программирование\\прога\\tenis\\tenis\\student.txt");//удаляю прежний файл с данными(но он не удаляется почему-то)
    rename ("temp.txt","stud.txt");//переименовываю временный файл
            system ("pause");
            fclose(t);
            
            
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru