информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsГде водятся OGRыПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 700 с лишним git-серверов пострадало... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
просмотри - fgets(...) 27.08.01 23:57  Число просмотров: 810
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
работа с файлами в [Visua C++] MFC маленький вопрос 27.08.01 18:50  
Автор: коcтя Статус: Незарегистрированный пользователь
<"чистая" ссылка>
[Visua C++] MFC
есть текстовый файл. необходимо в нем удалить пятую строку.
подскажите каким образом это реализовать.
просмотри - fgets(...) 27.08.01 23:57  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
если не сложно чуть более подробно. рожалуйста 28.08.01 01:57  
Автор: коcтя Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1
более подробно. 29.08.01 00:36  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
есть такая ф-ия
char *fgets( char *string, int n, FILE *stream );

она считывает из открытого файла данные по строчно. т.е. вот тебе пример кода

#include <stdio.h>

int main( int argc, char *argv[ ])
{
    if (argc == 0)
        return -1;
    FILE* file = fopen(*argv, "rt");
    char* buffer = new char[4 * 1024];
    if (file != NULL && buffer != NULL)
    {
        int nCount = 0;
        while (fgets(buffer, 4 * 1024, file) != NULL)
            nCount ++;
        printf("the file %s contains %d rows.\n", *argv, nCount);
    }
    if (file != NULL)
        fclose(file);
    if (buffer != NULL)
        delete [] buffer;
    return 0;
}


---

если этот метод тебе не нравиться, то сам считывай файл и просматривай каждый символ, пока не наткнешься на "\n"
если память не изменяет, то конец строки обозначаются : "\n" - для UNIX, а "\n\r" - для DOS.
...и более изяШно (ImHO) :) 29.08.01 13:55  
Автор: XR <eXtremal Research> Статус: The Elderman
<"чистая" ссылка>
#include <fstream>
#include <iostream>

main( int argc, char *argv[])
{
char buff[1024];
int  i=0;

if(argc < 3)
  {
   cout << "Usage: " << argv[0] << " [src_file] [dst_file]\n" << flush;
   return -1;
  }

ifstream src_file(argv[1],ios::nocreate);
if(!src_file) cout << "File " << argv[1] << " does not exist\n" << flush;
ofstream dst_file(argv[2],ios::noreplace);
if(dst_file) cout << "File " << argv[2]  << " already exist\n" << flush;

do{
src_file.getline(buff,1024);
i++;
if(i!=5) 
   dst_file << buff << "\n" << flush;
}while(src_file && dst_file);

return 0;
}
 

---
>
> если этот метод тебе не нравиться, то сам считывай файл и
> просматривай каждый символ, пока не наткнешься на "\n"
> если память не изменяет, то конец строки обозначаются :

> "\n" - для UNIX, а "\n\r" - для DOS.

И в вышеприведенном раскладе это будет УМЕТЬСЯ автоматом :)

1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach