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

Проецирование файлов данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ explicit конструктор и перегрузки в классе http://www.cyberforum.ru/cpp-beginners/thread947837.html
class Test { public: Test () { printf("Simple constructor\n"); } Test (long) { printf("Long\n"); } explicit Test (int) { printf("Integer\n"); } Test (const Test&) { printf("Copy operation\n"); } Test &operator=(const Test&) { printf("= Operation\n"); return *this; } }; void printt(int n)
C++ определение позиции начала в строке s слова с номером n mojete po komentirovat' kajduiu stroku i obyasnit chto dlya chego i chto, ya primerno ponimaiu, no ya ne ponimaiu chto znachit' src, str i (src - ptr) + 1?? spasibo zaranie!!! #include <iostream> using namespace std; int WordIndex(const char* src, const char* str) { const char* ptr = strstr(src, str); if(ptr) return ~(src - ptr) + 1; return -1; http://www.cyberforum.ru/cpp-beginners/thread947836.html
Генератор объектов классов C++
Как написать такой генератор? Есть класс Base в котором есть ЧИСТАЯ виртуальная функция Show () и поле UINT num class Base { UINT num; public: virtual void Show () = 0; };
C++ Сформировать динамический список, считая, что длина списка (количество элементов) задана
Описать функцию, которая вставляет в список Long за первым вхождением элемента I, значение которого введено с клавиатуры, все элементы списка Short, если I входит в Long. Помогите, пожалуйста!
C++ синтаксическая ошибка http://www.cyberforum.ru/cpp-beginners/thread947806.html
Где здесь ошибка? #include <iostream> #include <iterator> #include <algorithm> #include <vector> using namespace std; template<typename T> class Sum{
C++ добавление структуры после определенной структуры в бинарном файле Доброго времени суток. собственно задание: Запрограммировать информационную систему со следующими параметрами: Логическая структура: набор записей. Запись содержит минимум 3 поля. Поля должны быть различных типов. Обязательно использование строкового типа. Способ хранения: двоичный файл. Процедуры: а) поиск записи; б) добавление записи после определенной записи; подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.09.2013, 12:55     Проецирование файлов данных
Цитата Сообщение от Tsentyrion Посмотреть сообщение
посчитала количество слов.
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
#include <stdio.h>
#include <cctype>
 
DWORD number_words(char* str, DWORD fileSize)
{
    DWORD num = 0;
    char *end = str + fileSize;
    char cur = '\0';
    char last = '\0';
    
    for (  ; str != end; ++str)
    {
        cur = *str;
        if (!std::isalnum(unsigned char(cur)) && std::isalnum(unsigned char(last)))
            ++num;
        last = cur;
    }
    if (std::isalnum(unsigned char(last))) ++num;
    return num;
}
 
int main()
{
    char* lpMapAddress = NULL;
    
    HANDLE File = CreateFile("data.txt", 
        GENERIC_READ|GENERIC_WRITE,
        FILE_SHARE_READ|FILE_SHARE_WRITE, 
        NULL, 
        OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL, 
        NULL);
    
    HANDLE hMapFile = CreateFileMapping(File,
        NULL, 
        PAGE_READWRITE, 
        0, 
        0, 
        "MyFileMappingObject"); 
 
    if (hMapFile == NULL) 
    { 
        printf("Could not create file-mapping object.\n"); 
    } 
    else
    {
        DWORD fileSize = GetFileSize(File, NULL);
        
        lpMapAddress = (char*)MapViewOfFile(hMapFile, 
        FILE_MAP_ALL_ACCESS, 
        0, 
        0, 
        fileSize); 
 
        if (lpMapAddress == NULL) 
        { 
            printf("Could not map view of file.\n"); 
        } 
        else
        {
            DWORD num = number_words(lpMapAddress, fileSize);
            printf("%d\n", num);
        } 
    }
    
    CloseHandle(File); 
    CloseHandle(hMapFile); 
    UnmapViewOfFile(lpMapAddress);
    
    getchar();
    return 0;
}
 
Текущее время: 04:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru