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

Удаление строки из файла\либо удаление самого файла. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Невозможно поместить строку map<string,float>pairs_map; в .h-файл http://www.cyberforum.ru/cpp-beginners/thread37318.html
Делаю проект,есть 3 файла : // project_header.h #ifndef PROJECT_HEADER_H_INCLUDED #define PROJECT_HEADER_H_INCLUDED #include <iostream> #include <map> #include <iterator> #include <string> #include <cctype>
C++ Строковый ввод-вывод. С++ У меня возникла проблема с заданием. Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию 1) Скопировать из файла F1 в файл F2 все строки, которые содержат только одно слово. 2) Найти самое длинное слово в файле F2. Заранее благодарна))) http://www.cyberforum.ru/cpp-beginners/thread37316.html
C++ Переход по ссылке
Люди кто знает как в программу добавить переход по ссылке html напимер нажимаеш на button и переходит к конкретной ссылке ;)
Метод Зейделя C++
Ребята, каждый из вас уже делал лабы по матрицам. Если у кого-то есть готовая лаба по методу Зейделя, прошу, напишите ее тут и желательно с комментариями. >>Тут<< можно почитать о методе Зейделя Выручайте :friends: Добавлено через 6 часов 24 минуты 45 секунд Вот думаю, как сделать HTML-страницу, так чтобы можно было вводить размерность матрицу и понимаю, что нет выхода =/ Придется пока...
C++ Объявление шаблона ассоциативного массива map http://www.cyberforum.ru/cpp-beginners/thread37284.html
Необходимо объявить шаблон map таким образом,чтобы в map записывалось второе значение согласно шаблону.Например,у нас пары значений string-int,string-double.Как можно объявить шаблон на такой массив? Имею довольно смутное представление о шаблонах(вообще без понятия),но хотел сказать примерно следующее: template<typename T>map<string,T value>pairs_map;В-общем я не знаю тип второго значения...
C++ Приоритет операторов (расставить скобки) Необходимо расставить скобки в следующем выражении: a==b||a==c&&c<5Объясните расстановку. Я думаю,что сначала вычислится c<5(по приоритету),потом a==b,потом ,если true,a==c,(по приоритету ||)потом ||,а уже последним &&,если выражение слева true.Я прав или ошибаюсь?Как правильно? P.S.Скобки я так и не расставил,а вдруг они повлияют на приоритет вычислений?? С другой стороны,операторы ||,&&... подробнее

Показать сообщение отдельно
Delphin_KKC
UNIX-way
 Аватар для Delphin_KKC
710 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
02.06.2009, 11:56     Удаление строки из файла\либо удаление самого файла.
Цитата Сообщение от Evg Посмотреть сообщение
tmpfile тебе возвращает открытый на запись файл. Его имя, насколько я себе это представляю, недоступно. Чтобы что-то из него прочитать, нужно его сначала закрыть, а потом открыть на чтение, а поскольку имя тебе недоступно, то открыть ты его уже не сможешь....
И правда, после закрытия этот файл уже не прочитать. Потому что он удаляется. Но прочитать его очень даже можно. Ниже привожу текст программки, которая принимает от пользователя строку, записывает её в этот файл, а затем её оттуда читает. Для чистоты эксперимента перед чтением я обнуляю буфер, в который строка читается. Контроля границ нет, потому не вводжите строки длиннее 255 символов. Программа записывает только одну строку. Но при желании можно сделать цикл и писать хоть сто одну. Главное не забывать про нулевой байт в конце строки.
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
#include <cstdlib>
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    char n[256];
    cout << "Input string: ";
    cin >> n;
    FILE *tmp = tmpfile();
    for (int i=0;n[i] != 0; i++)
    {
        putc(n[i],tmp);
    }
    fseek(tmp,0,SEEK_SET);//переход на нулевой байт от начала файла
    for (int i=0; i < 256; i++) 
    {
        n[i]=0;
    }
    cout << endl<<endl;
    int c;
    for (int i=0;(c=getc(tmp)) != EOF;i++)
    {
    n[i]=static_cast<char>(c);    
    }
    cout<<"n="<<n<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
З.Ы. Для компиляции использовал среду DevC++ 4.9.9.2
З.З.Ы. Для надёжности перед fseek можно вызвать fflush(tmp);
Миниатюры
Удаление строки из файла\либо удаление самого файла.  
 
Текущее время: 17:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru