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

Дописывание в текстовый файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка таблицей http://www.cyberforum.ru/cpp-beginners/thread677774.html
Добрый день, уважаемые. Попалась мне олимпиадная задача, которую срочно нужно решить. Но вот незадача, я не знаю как... И так, вот условие задачи: "В файле in.dat записано целое, нечетное, неотрицательное число меньше 256. Разместить в квадратной таблице размером n последовательность натуральных чисел 1, 2,..., n**2 таким образом, что бы самое маленькое число находилось в центре таблицы, а все...
C++ Работа в Visual Studio Подскажите, где можно почитать о приёмах работы и отладке программ в Visual Studio с самых базовых моментов, т.е. для новичков. Спасибо. http://www.cyberforum.ru/cpp-beginners/thread677758.html
C++ Указатель на матрицу
Добрый вечер. Допустим у меня есть матрица: int a; и указатель на указатель: int **pp; Как мне указателю pp присвоить адрес матрицы? Спасибо.
C++ Не работает операция сложения в классе. Исправить код
Сделал класс типа список "Unit2.h" //--------------------------------------------------------------------------- #ifndef Unit2H #define Unit2H #include <iostream.h> typedef int change; //--------------------------------------------------------------------------- class TList;
C++ не компелируется программа http://www.cyberforum.ru/cpp-beginners/thread677742.html
1. Создать массив с использованием указателя. Заполнить созданный массив значениями согласно варианту. Для обращения к элементам массива при заполнении использовать индексы массива. Результат в виде таблицы значений массива вывести на консоль. Для обращения к элементам массива при выводе информации использовать указатели. 2. Создать массив в динамической памяти. Заполнить созданный массив...
C++ Сортировка массива Понимаю ,что тема 100 раз уже подымалась. но все же укажите где моя ошибка вот ... #include "stdafx.h" #include<iostream> using namespace std; void swap(int& left, int& right) { подробнее

Показать сообщение отдельно
Sereb
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 3
22.10.2012, 21:07     Дописывание в текстовый файл
Пытаюсь написать программу которая из одного текстового файла считывает слова в связный список , а потом дописывает в другой файл элементы этого списка. Работаю с потоками , при попытке установлении флажков ios::app или ios::ate при открытии файла , куда нужно дописывать в результате получаю пустой файл.
Класс связного списка , с методом WriteList который записывает связный список в файл(без флажков все работает , но стирает все что было в файле , а необходимо именно дописывание)
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
59
60
61
struct HashWord { string name, path ;int value; HashWord *next; };
class HashList
{
private:
HashWord *first, *last;
public:
int ListValue;
HashList();
HashList(string name,string path,int value);
~HashList();
void WriteList(HashList list);
void AddToList(string name,string path,int value);
void ShowValue (HashList list);
};
 
HashList::HashList()
{ first=last=NULL;}
HashList::~HashList()
{}
void HashList::WriteList(HashList list)
{ fstream v;
string resu;
HashWord * current;
current=first;
  v.open("res.txt",ios::ate);
  if (!v) {resu="Error";  }
if(last==NULL)   {v<<"Empty";}
else
{while (current!=last->next)  {
v<<current->name<<"|"<<current->value<<"->";
current=current->next;
}
}
v<<"End of list";
}
void HashList::AddToList(string name,string path,int value)
{HashWord *temp = new HashWord;
if (temp==NULL){ return ;}
if (last==NULL) {
temp->name=name;
temp->path=path;
temp->value=value;
first=temp;
last=temp;
}
else {
temp->name=name;
temp->path=path;
temp->value=value;
last->next=temp;
last=temp;
}
return;
}
void HashList::ShowValue(HashList list)
{
  if (first==NULL) ListValue=0;
  if (first!=NULL){
  ListValue=first->value;   }
  return ;
}
Мейн моей программы (это вырезка из билдера, при нажатии на кнопку)
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
ifstream f(FileListBox1->FileName.c_str());
fstream v;
string s,resu;
char ch;
int ListValue=0;
unsigned int i,k,z;
int sum=0;
HashList list;
HashWord word;
if (!f) { return;  }
while(!f.eof()){
                f>>s;
                word.name=s;
                Edit1->Text=Edit1->Text+" "+word.name.c_str();
                for (i=0;i<s.length();i++){
                  sum=sum+(int)s[i];}
                word.value=sum;
                word.path=FileListBox1->FileName.c_str();
                list.ShowValue(list);
                Edit2->Text=list.ListValue;
                list.AddToList(word.name,word.path,word.value);
                list.ShowValue(list);
                Edit1->Text=ListValue;
                list.WriteList(list);
}
Помогите пожалуйста найти в чем проблема.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru