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

Использование ifstream в VSC++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему функция putchar(); выводит только первый символ?(Короткий код) http://www.cyberforum.ru/cpp-beginners/thread1508403.html
#include <stdio.h> #include <conio.h> int main() { int c; c=getchar(); putchar(c); getch(); }
C++ Сборка odb-pgsql Кто нибудь собирал odb-pgsql расширение для odb? В INSTALL сказано, что нужно прописать в свойствах проекта пути к include\ и lib\ из папки установки Postgresql и сбилдить. Пути прописаны, только вот ругается на неразрешённые символы: Ошибка 4 error LNK2019: ссылка на неразрешенный внешний символ _PQstatus в функции "public: __thiscall odb::pgsql::connection::connection(class... http://www.cyberforum.ru/cpp-beginners/thread1508401.html
Могут ли быть указаны квалификаторы типа в качестве возвращаемого значения функции/метода? C++
Могут ли быть указаны квалификаторы типа в качестве возвращаемого значения функции/метода? Вернее сказать, в дополнение к типу возвращаемого значения
Могут ли теоретически существовать методы с неопределенным числом аргументов? C++
Разумно ли использовать va args в таких ситуациях?
C++ Массив строк и найти в нем максимальную по длине строку http://www.cyberforum.ru/cpp-beginners/thread1508370.html
Ввести массив строк и найти в нем максимальную по длине строку. Не учитывать случай, когда таких строк несколько.
C++ Работа с pdf файлом Добрый день, подскажите, можно ли стандартными средствами открыт PDF файл, для последующей работы с ним? Или есть свободные библиотеки для этого? подробнее

Показать сообщение отдельно
The New Guy
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 6
01.08.2015, 20:33     Использование ifstream в VSC++
Вопрос, хочу поработать с файлом, но программу готовую нужно унести в другое место, поэтому абсолютный адрес для доступа к файлу использовать нельзя. Делаю в вижуал студии, если положить файлы в дебаг и папку проекта, тогда всё работает правильно, если как то иначе, то вылезает или один ноль на консоль, или бесконечное количество нулей. Нужно чтобы все файлы лежали в одном месте в двух хранить не вариант. вот код:

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
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <conio.h>
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
#include <cstring>
 
using namespace std;
 
unsigned int CRC32_function(unsigned char *buf, unsigned long len)
{
unsigned long crc_table[256];
unsigned long crc;
for (int i = 0; i < 256; i++)
{
crc = i;
for (int j = 0; j < 8; j++)
crc = crc & 1 ? (crc >> 1) ^ 0xEDB88320UL : crc >> 1;
crc_table[i] = crc;
};
crc = 0xFFFFFFFFUL;
while (len--)
crc = crc_table[(crc ^ *buf++) & 0xFF] ^ (crc >> 8);
return crc ^ 0xFFFFFFFFUL;
}
 
//возвращание конечного CRC32. Достаточно вызвать эту функцию и указать имя файла, для которого будет произведён расчёт
unsigned int CRC32_count(char* filename){
    char buf[4096*64]; //сколько символов в файле, на самом деле, это должно быть больше, 2^31-1 будет для файла размером 2ГБ
    ifstream f (filename,std::ios::binary);
    f.read(buf,4096*64);
    return CRC32_function((unsigned char*)buf, f.gcount());
}
 
int _tmain(int argc, _TCHAR* argv[])
{
        std::fstream fin;
        std::string buf;
        fin.open("files.txt");
        while(!fin.eof()) {
        std::getline(fin, buf);
        char *chrstr=new char[buf.length()+1];
        strcpy(chrstr, buf.c_str());
        int len=CRC32_count(chrstr);
        std::cout<<len;
        }  
    _getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru