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

Размер файла или "баги, лаги" - C++

Восстановить пароль Регистрация
 
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
19.04.2014, 13:11     Размер файла или "баги, лаги" #1
Проблема в том что я не могу узнать размер файла!
У меня файл весит 0 байт, но выводится вторая часть, но там вообще выводится какая-то кодировка.(Фиг поймешь какая)

Нужно: что бы считывалась сколько весит
если 0 байт то
внести записи
если больше 0 байт то
вывести строки

а у меня фигня какая то.

Code
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
#include "Include.h"
 
 
using namespace std;
 
int main()
{
    
    string username;
    ofstream launcher("..\\Debug\\launcher.txt");
    int FileSize=GetFileSize (launcher,0) ;
    
    if(FileSize==0)
    {
    cout<<"NIKNAME: ";
    cin>>username;
    launcher<<username+"\n";
    char b[36]={97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,'1','2','3','4','5','6','7','8','9','0'};
    char token;
    srand (0);
    for(int fr=0; fr<=32; fr++)
    {
        unsigned int i=rand()%36;
        token=b[i];
        launcher<<token;
    };
    launcher.close ();
    }
    else
    {
        ifstream launcher("..\\Debug\\info.code");
        string one[64];
        string two[64];
        cout<<one<<endl;
        cout<<two<<endl;
        launcher.close ();
    }
 
    _getch();
    return 0;
}

P.S. Мозги уже кипят. Просьба не ругаться.

А лучше скажите как пользоваться INI файлами в C++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2014, 13:11     Размер файла или "баги, лаги"
Посмотрите здесь:

C++ Дано трехзначное число. Проверить истинность высказывания: "Цыфры даного числа образуют возрастающую или убывающую последовательность"."
"И" ведет себя как "ИЛИ" C++
C++ Обчисление введенной строки любого формата(пример:"(2+3)/4*2"или"2+3"или ...)
Работа с файлами (вывести в текстовый файл "g.txt" любую цифру из исходного файла "f.txt" с сохранением строгого порядка) C++
C++ Считать с файла информацию о команде "Название" "Город", количество побед, поражений, ничьих, забитых и пропущенных мячей
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
19.04.2014, 13:51     Размер файла или "баги, лаги" #2
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
У меня файл весит 0 байт
Это откуда известно?
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
19.04.2014, 14:57  [ТС]     Размер файла или "баги, лаги" #3
при запуске он создается если его нету. Файл в формате txt
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
19.04.2014, 15:36     Размер файла или "баги, лаги" #4
Natsu_Zirok, GetFileSize принимает на вход HANDLE, а что Вы передаете? Отсюда и ерунда на выходе. Как вариан, простой способ узнать размер файла: http://stackoverflow.com/questions/5...iles-size-in-c
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
19.04.2014, 16:32  [ТС]     Размер файла или "баги, лаги" #5
tellg и seekg у меня выдают ошибку, так бы с радостью!
IrineK
Заблокирован
19.04.2014, 16:37     Размер файла или "баги, лаги" #6
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
при запуске он создается
Это откуда известно?
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
19.04.2014, 18:17  [ТС]     Размер файла или "баги, лаги" #7
Смотрю в папку
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
19.04.2014, 18:19     Размер файла или "баги, лаги" #8
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
tellg и seekg у меня выдают ошибку, так бы с радостью!
Значит, с ошибкой надо разобраться. Ваш Кэп.
IrineK
Заблокирован
19.04.2014, 18:27     Размер файла или "баги, лаги" #9
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Смотрю в папку
Папка правильная?
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
19.04.2014, 18:38     Размер файла или "баги, лаги" #10
в коде нет проверки на то, что файл вообще открылся. это может быть из-за относительного пути:
C++
1
2
3
4
5
ofstream launcher("..\\Debug\\launcher.txt");
if (!launcher)
{
  // стрим не валидный. дальше с ним работать нет смысла.
}
в зависимости от способа запуска текущие директории могут оказаться разные в разных режимах.
в общем поставьте проверку на то, что стрим валидный после создания. и еще можно попробовать
с полным путем открыть.
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
20.04.2014, 19:30  [ТС]     Размер файла или "баги, лаги" #11
Может хватить задавать тупые вопросы.

Добавлено через 2 минуты
Файл открылся. Так как в таком коде
Code
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
#include "Include.h"
 
 
using namespace std;
 
int main()
{
    
    string username;
    ofstream launcher("..\\Debug\\launcher.txt");
    
    cout<<"NIKNAME: ";
    cin>>username;
    launcher<<username+"\n";
    char b[36]={97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,'1','2','3','4','5','6','7','8','9','0'};
    char token;
    srand (0);
        unsigned int i=rand()%36;
        token=b[i];
        launcher<<token;
    launcher.close ();
 
    _getch();
    return 0;
}

Все записывается в файл
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
20.04.2014, 20:37     Размер файла или "баги, лаги" #12
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Файл открылся.
Ок, допустим, с открытием все в порядке.

Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Может хватить задавать тупые вопросы.
Без комментариев.

Сейчас на какой стадии проблемы? Если Вы все еще пытаетесь заставить работать код из первого поста, то ничего не выйдет - я уже объяснял почему.
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
21.04.2014, 04:00  [ТС]     Размер файла или "баги, лаги" #13
Сейчас попробую через буфер. А с tellg и seekg я не знаю что делать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 04:54     Размер файла или "баги, лаги"
Еще ссылки по теме:

"Точность вычислений" или "Элементарная погрешность" C++
Что применить "\n" или "endl"? C++
"Чудеса типа float" или "Куда девалась информация?" C++

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
21.04.2014, 04:54     Размер файла или "баги, лаги" #14
Сделайте поток fstream, а потом лезьте в него tellg.
ofstream по понятным причинам tellg не поддерживает.

std::istream::tellg
std::ostream::tellp
std::fstream
Yandex
Объявления
21.04.2014, 04:54     Размер файла или "баги, лаги"
Ответ Создать тему
Опции темы

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