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

[C++] Работа с файлами - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 219, средняя оценка - 4.68
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
17.06.2010, 21:09     [C++] Работа с файлами #1
Задача: Есть файлы, которые надо обработать:
1.просканировать директории на наличие файлов расширения *.TXT
2.сохранять список путей к файлам в booklist.txt (для дальнейшей работы)
3.вывести booklist.txt на экран

Добавлено через 41 минуту
пытался найти похожие или хоть какие-то программы работы с файлами нашел вот эту

работает с файлами через аргумент и выводит дважды содержание файла:
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
// Заголовочные файлы для ввода-вывода
#include <iostream>
#include <fstream>
 
void printFileTwice (const char* filename)
{
    // Открытие файла
    std::ifstream file(filename);
 
    // Первый вывод содержимого
    std::cout << file.rdbuf();
 
    // Возврат к началу файла
    file.seekg(0);
 
    // Второй вывод содержимого
    std::cout << file.rdbuf();
}
 
int main (int argc, char* argv[])
{
    // Двукратный вывод всех файлов, переданных в командной строке
    for (int i=1; i<argc; ++i) {
        printFileTwice(argv[i]);
    }
}
Добавлено через 16 минут
------------------------------------

Посоветуйте что можно сделать, я в С++ только начал
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2010, 21:09     [C++] Работа с файлами
Посмотрите здесь:

работа с файлами C++
Работа с файлами C++
C++ Работа с файлами
C++ Работа с файлами С++
работа с файлами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.06.2010, 10:12     [C++] Работа с файлами #41
Цитата Сообщение от Egeni Посмотреть сообщение
но вызывает ошибку
Cannot convert 'void *' to 'char *'
C
1
char *ret=malloc(len), *ptr=ret;
=>
C
1
char *ret=(char *)malloc(len), *ptr=ret;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
21.06.2010, 20:35  [ТС]     [C++] Работа с файлами #42
Хотел написать программу удаления коментариев в С++ исходных файлах.
построчных // коментарий
многострочных /* коментарий */

у меня тоже возник вопрос какие есть функции для работы со строками?
как вообще лучше работать с файлом какие типы (char я так понимаю) при этом используются?

я впринципе представляю себе алгоритм:

1.открыть файл
в аргументах для функции передавать
1-имя файла, 2-строку которую изменить (// и /*), 3-строку на что изменить(если пусто тоесть удалить)

2.прочитать его в переменную
(как лучше читать по строчно или нет? если большой файл то как быть?)

3.найти в файле совпадения
функция поиска по файлу при нахождении 2строки (// и /*) искать конец (endline или */) и возвращать номера символов первого найденного и последнего (/* */) и после удалить их
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.06.2010, 23:05     [C++] Работа с файлами #43
Файл лучше обрабатывать посимвольно
Evg же довольно подробно описал алгоритм Удаление комментариев в файле

Добавлено через 1 час 29 минут
На ночь глядя мой воспаленный мозг родил такой код Он не безупречен.
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
#include <iostream.h>
#include <fstream.h>
 
int main(int argc, char* argv[])
{
   int buf1 = 0, buf2 = 0;
   int f_c = 0, f_cplus = 0, f_com;
   ifstream file_in;
   ofstream file_out;
 
   file_in.open("d:\\progexp\\com.cpp");
   if (!file_in.is_open())
   {
      cerr << "Can not open input file" << endl;
      system("pause");
      return 1;
   }
   file_out.open("d:\\progexp\\nocom.cpp");
   if (!file_out.is_open())
   {
      cerr << "Can not open output file" << endl;
      system("pause");
      return 1;
   }
 
   while ((buf1 = file_in.get()) != EOF)
   {
      if (buf1 == '/' && f_c == f_cplus)
      {
         f_com = 1;
      }
      if (buf2 == '/' && buf1 != '/' && buf1 != '*' && f_c == f_cplus)
      {
         f_com = 0;
         file_out.put(buf2);
      }
      if (buf1 == '/' && buf2 == '/' && f_c != 1)
         f_cplus = 1;
      if (buf1 == '*' && buf2 == '/' && f_cplus != 1)
         f_c = 1;
      if (buf1 == '\n' &&f_cplus == 1)
         f_cplus = f_com = 0;
      if (buf1 == '/' && buf2 == '*' && f_c == 1)
      {
         f_c = f_com = 0;
         continue;
      }
      if (!f_com)
         file_out.put(buf1);
      buf2 = buf1;
   }
   file_in.clear();
   file_out.close();
   return 0;
}
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 00:03  [ТС]     [C++] Работа с файлами #44
Хочешь разобраться в коде - попробуй его откоментируй. пробовал откоментировать до цепочки if условий дальше немного не понятно что в себе хранят переменные f_c, f_cplus, f_com

Цитата Сообщение от kazak Посмотреть сообщение
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
#include <iostream.h>
#include <fstream.h>
 
int main(int argc, char* argv[]){
   int buf1 = 0, buf2 = 0;
   int f_c = 0, f_cplus = 0, f_com;
   ifstream file_in;
   ofstream file_out;
   //Файл открытия
   file_in.open("com.cpp");
   //Если не получилось открыть файл
   if (!file_in.is_open())   {
      cerr << "Can not open input file" << endl;
      system("pause");
      return 1;   }
   //Файл вывода
   file_out.open("nocom.cpp");
   if (!file_out.is_open())   {
      cerr << "Can not open output file" << endl;
      system("pause");
      return 1;   }
      /*Условие проверки
      * записываем в buf1 входящий файл
      */
   while ((buf1 = file_in.get()) != EOF)   {
      //Если buf1 равен "/" и f_c равен f_cplus, то f_com равняется 1
      if (buf1 == '/' && f_c == f_cplus)      {
         f_com = 1;
      }
      //Если buf2 = "/" и buf1 не "/" и buf1 не "*" и  f_c = f_cplus
      if (buf2 == '/' && buf1 != '/' && buf1 != '*' && f_c == f_cplus)       {
         f_com = 0;
         file_out.put(buf2);
      }
      if (buf1 == '/' && buf2 == '/' && f_c != 1)
         f_cplus = 1;
      if (buf1 == '*' && buf2 == '/' && f_cplus != 1)
         f_c = 1;
      if (buf1 == '\n' &&f_cplus == 1)
         f_cplus = f_com = 0;
      if (buf1 == '/' && buf2 == '*' && f_c == 1)
      {
         f_c = f_com = 0;
         continue;
      }
      if (!f_com)
         file_out.put(buf1);
      buf2 = buf1;
   }
   file_in.clear();
   file_out.close();
   return 0;
}
непонятно с какими аргументами можно работать, тоесть что передается аргументами??
а так впринципе код работает на отлично, но оставляет дыры на многострочных коментариях в файле nocom.cpp
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.06.2010, 00:08     [C++] Работа с файлами #45
f_c, f_cplus, f_com это флаги
f_com - флаг комментария
f_c - флак комментария в стиле Си
f_cplus - флаг комментария в стиле С++
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 12:18  [ТС]     [C++] Работа с файлами #46
а можно ли при этом использовать switch-case и строки или массив?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.06.2010, 12:22     [C++] Работа с файлами #47
Если придумаешь как, почему бы и нет.)
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 12:32  [ТС]     [C++] Работа с файлами #48
Попробовал скомпилированной программой обработать тот же исходник отрезало пол файла заголовков... почему?

как можно изменить программу чтобы она реагировала на звездочку как на много символов после start /* и */ до end соотвественно, а то с флагами немного не понятно.
Вложения
Тип файла: rar test.rar (660 байт, 19 просмотров)
Тип файла: rar build22.06.2010.rar (675 байт, 19 просмотров)
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 12:50  [ТС]     [C++] Работа с файлами #49
Я кажется догадываюсь... оно читает заголовки cpp и пытается их выполнить
Программу понял так: если встречается в буфере коментарии то оно возвращает 0 до тех пор пока не встречает конец коментариев.

а как бы сделать так чтобы оно не возвращало при удалении несколько строчек многострочного коментария а пропускало до конца? для этого надо читать файл и если встречается коментарий- возвращать позицию начала коментария и пропускать до тех пор пока не встретиться позиция конечного?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.06.2010, 13:01     [C++] Работа с файлами #50
Цитата Сообщение от Egeni Посмотреть сообщение
Попробовал скомпилированной программой обработать тот же исходник отрезало пол файла заголовков... почему?
Я при объявлении флагов забыл проинициализировать один флаг.
Цитата Сообщение от kazak Посмотреть сообщение
int f_c = 0, f_cplus = 0, f_com;
C++
1
int f_c = 0, f_cplus = 0, f_com = 0;
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 13:13  [ТС]     [C++] Работа с файлами #51
да действительно, заменил все вышло.
как можно изменить программу чтобы программа реагировала на звездочку как на много символов после start /* и */ до end соотвественно, а то с флагами выходит много условных цепочек
нашел функцию erase которая удаляет из строк
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<string>
using namespace std;
 
int main(){
    string st;
    cout<<"Enter string: "<<endl;
    getline(cin, st);
    cout<<"\nYour enter string:"<<endl;
    cout<<st<<endl;
 
    st.erase(5, 2);
 
    cout<<st<<endl;
    system("pause");
    return 0;
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.06.2010, 13:55     [C++] Работа с файлами #52
Цитата Сообщение от Egeni Посмотреть сообщение
реагировала на звездочку как на много символов после start /* и */ до end соотвественно
Не совсем понял.
Вот вариант со строками, получился еще больше, но если комментарий в отдельной строке, пропускает всю строку.
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
62
63
64
65
66
67
68
69
70
71
#include <iostream.h>
#include <fstream.h>
 
int main(int argc, char* argv[]){
   char buf[257] = {'\0'};
   char *tmp;
   int f_c = 0;
   ifstream file_in;
   ofstream file_out;
 
   file_in.open("d:\\progexp\\build22.06.2010.cpp");
   if (!file_in.is_open())
   {
      cerr << "Can not open input file" << endl;
      system("pause");
      return 1;
   }
   file_out.open("d:\\progexp\\nocom.cpp");
   if (!file_out.is_open())
   {
      cerr << "Can not open output file" << endl;
      system("pause");
      return 1;
   }
 
   while (file_in.good())
   {
      file_in.getline(buf, 256);
      if (!f_c)
      {
         if ((tmp = strstr(buf, "//")) != NULL)
         {
            *tmp = '\0';
            for (int i = 0; i < strlen(buf); i++)
            {
               if (buf[i] != ' ' && buf[i] != '\t')
               {
                  file_out << buf << endl;
                  break;
               }
            }
            continue;
         }
         else if ((tmp = strstr(buf, "/*")) != NULL)
         {
            *tmp = '\0';
            f_c = 1;
            for (int i = 0; i < strlen(buf); i++)
            {
               if (buf[i] != ' ' && buf[i] != '\t')
               {
                  file_out << buf << endl;
                  break;
               }
            }
            continue;
         }
         else
            file_out << buf << endl;
      }
      else
      {
         if ((tmp = strstr(buf, "*/")) != NULL)
         {
            f_c = 0;
         }
      }
   }
   file_out.close();
   return 0;
}
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 20:23  [ТС]     [C++] Работа с файлами #53
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
62
63
64
65
66
67
68
69
#include <iostream.h>
#include <fstream.h>
 
 
void textor(DelStart, DelStop, file_in, file_out ){ 
   char buf[32769] = {'\0'};
   char *tmp;
 
   int f_c = 0;
   ifstream file_in;
   ofstream file_out;
 
   file_in.open(file_in);
   if (!file_in.is_open())
   {
      cerr << "Can not open input file" << endl;
      system("pause");
      return 1;
   }
   file_out.open(file_out);
   if (!file_out.is_open())
   {
      cerr << "Can not open output file" << endl;
      system("pause");
      return 1;
   }
     
   while (file_in.good())
   {
      file_in.getline(buf, 32768);
      if (!f_c)
      {
        if ((tmp = strstr(buf, DelStart)) != NULL)
         {
            *tmp = '\0';
            f_c = 1;
            for (int i = 0; i < strlen(buf); i++)
            {
               if (buf[i] != ' ' && buf[i] != '\t')
               {
                  file_out << buf << endl;
                  break;
               }
            }
            continue;
         }
         else
            file_out << buf << endl;
      }
      else
      {
         if ((tmp = strstr(buf, DelStop)) != NULL)
         {
            f_c = 0;
         }
      }
   }
   file_out.close();
   return file_out;
}
 
 
int main(int argc, char* argv[]){
    char *DelStart = "/*";
    char *DelStop = "*/";
    char *file_in = "test.cpp";
    char *file_out = "testnocom.cpp.txt";
    textor("/*","*/","test.cpp","testnocom.cpp.txt");
}
Хотел собрать функцию в функцию удаление многострочных коментариев выкинуло ошибку о том что нельзя использовать это как функцию.. ошибки с типами
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.06.2010, 21:18     [C++] Работа с файлами #54
Цитата Сообщение от Egeni Посмотреть сообщение
void textor(DelStart, DelStop, file_in, file_out )
Где типы аргументов?
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 21:37  [ТС]     [C++] Работа с файлами #55
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
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream.h>
#include <fstream.h>
 
    char *DelStart = "/*";
    char *DelStop = "*/";
    char *file_in = "test.cpp";
    char *file_out = "testnocom.cpp.txt";
    
void textor(DelStart, DelStop, file_in, file_out){ 
   char buf[32769] = {'\0'};
   char *tmp;
 
   int f_c = 0;
   ifstream file_in;
   ofstream file_out;
 
   file_in.open(file_in);
   if (!file_in.is_open())
   {
      cerr << "Can not open input file" << endl;
      system("pause");
      return 1;
   }
   file_out.open(file_out);
   if (!file_out.is_open())
   {
      cerr << "Can not open output file" << endl;
      system("pause");
      return 1;
   }
     
   while (file_in.good())
   {
      file_in.getline(buf, 32768);
      if (!f_c)
      {
        if ((tmp = strstr(buf, DelStart)) != NULL)
         {
            *tmp = '\0';
            f_c = 1;
            for (int i = 0; i < strlen(buf); i++)
            {
               if (buf[i] != ' ' && buf[i] != '\t')
               {
                  file_out << buf << endl;
                  break;
               }
            }
            continue;
         }
         else
            file_out << buf << endl;
      }
      else
      {
         if ((tmp = strstr(buf, DelStop)) != NULL)
         {
            f_c = 0;
         }
      }
   }
   file_out.close();
   return buf;
}
 
 
int main(int argc, char* argv[]){
    char *DelStart = "/*";
    char *DelStop = "*/";
    char *file_in = "test.cpp";
    char *file_out = "testnocom.cpp.txt";
    textor("/*","*/","test.cpp","testnocom.cpp.txt");
}
Код
9: error: variable or field `textor' declared void
9: error: initializer expression list treated as compound expression
9: error: invalid conversion from `char*' to `int'
9: error: expected `,' or `;' before '{' token
In function `int main(int, char**)':
72: error: `textor' cannot be used as a function
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.06.2010, 21:40     [C++] Работа с файлами #56
Цитата Сообщение от Egeni Посмотреть сообщение
void textor(DelStart, DelStop, file_in, file_out)
я это имел в виду
C++
1
void textor(char *DelStart, char *DelStop, char *file_in, char *file_out)
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 21:49  [ТС]     [C++] Работа с файлами #57
Код
In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31,
                 from E:\build22.06.2010_2034_func.cpp:1:
C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
E:\build22.06.2010_2034_func.cpp: In function `void textor(char*, char*, char*, char*)':
E:\build22.06.2010_2034_func.cpp:14: error: declaration of 'std::ifstream file_in' shadows a parameter
E:\build22.06.2010_2034_func.cpp:15: error: declaration of 'std::ofstream file_out' shadows a parameter
E:\build22.06.2010_2034_func.cpp:17: error: invalid conversion from `void*' to `const char*'
E:\build22.06.2010_2034_func.cpp:17: error:   initializing argument 1 of `void std::basic_ifstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]'

E:\build22.06.2010_2034_func.cpp:22: error: return-statement with a value, in function returning 'void'
E:\build22.06.2010_2034_func.cpp:24: error: invalid conversion from `void*' to `const char*'
E:\build22.06.2010_2034_func.cpp:24: error:   initializing argument 1 of `void std::basic_ofstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]'
E:\build22.06.2010_2034_func.cpp:29: error: return-statement with a value, in function returning 'void'
E:\build22.06.2010_2034_func.cpp:63: error: return-statement with a value, in function returning 'void'
говорит о том что используются два противоположных хедера
Вложения
Тип файла: rar build22.06.2010_2034_func.rar (1.2 Кб, 9 просмотров)
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.06.2010, 21:58     [C++] Работа с файлами #58
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
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <fstream>
 
using namespace std;
 
int textor(char *DelStart, char *DelStop, char *file_in_name, char *file_out_name){ 
   char buf[32769] = {'\0'};
   char *tmp;
 
   int f_c = 0;
   ifstream file_in;
   ofstream file_out;
 
   file_in.open(file_in_name);
   if (!file_in.is_open())
   {
      cerr << "Can not open input file" << endl;
      system("pause");
      return 1;
   }
   file_out.open(file_out_name);
   if (!file_out.is_open())
   {
      cerr << "Can not open output file" << endl;
      system("pause");
      return 1;
   }
     
   while (file_in.good())
   {
      file_in.getline(buf, 32768);
      if (!f_c)
      {
        if ((tmp = strstr(buf, DelStart)) != NULL)
         {
            *tmp = '\0';
            f_c = 1;
            for (int i = 0; i < strlen(buf); i++)
            {
               if (buf[i] != ' ' && buf[i] != '\t')
               {
                  file_out << buf << endl;
                  break;
               }
            }
            continue;
         }
         else
            file_out << buf << endl;
      }
      else
      {
         if ((tmp = strstr(buf, DelStop)) != NULL)
         {
            f_c = 0;
         }
      }
   }
   file_out.close();
   return 0;
}
 
 
int main(int argc, char* argv[]){
    char *DelStart = "/*";
    char *DelStop = "*/";
    char *file_in = "test.cpp";
    char *file_out = "testnocom.cpp.txt";
    textor(DelStart, DelStop, file_in, file_out);
    return 0;
}
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
22.06.2010, 22:15  [ТС]     [C++] Работа с файлами #59
про ошибки не пишет, но обработка функции не выходит видимо функция не возвращает ничего/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2010, 08:26     [C++] Работа с файлами
Еще ссылки по теме:

Работа с файлами C++
Работа с файлами C++
C++ Работа с файлами

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
23.06.2010, 08:26     [C++] Работа с файлами #60
Сообщение было отмечено автором темы, экспертом или модератором как ответ
ТС, есл хочешь работоспособный мой код, стукни в личку. Года 3 назад я его выкладывал на одном из форумов. Не лень будет, дам координаты, зарегаешься, найдёшь. А меня там забанили.
Yandex
Объявления
23.06.2010, 08:26     [C++] Работа с файлами
Ответ Создать тему
Опции темы

Текущее время: 01:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru