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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 156
#1

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

19.04.2014, 13:11. Просмотров 392. Ответов 13
Метки нет (Все метки)

Проблема в том что я не могу узнать размер файла!
У меня файл весит 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     Размер файла или "баги, лаги"
Посмотрите здесь:

Чтение файла с данными типа real. Тип real в билдере или как его "обойти"? - C++
Читаю файл в структуру, double Fdat; struct STR { ... } rec

Проверить, есть ли в слове приставка "пре" или "пре". - C++
Помогите решить задачу! Проверить, есть ли в слове приставка &quot;пре&quot; или &quot;пре&quot;. Заранее благодарен!

Сгенерировать число "1" или "2" - C++
Как сделать с помощью функции rand генерацию числа в диапазоне от 0 до 1? Просто если пишу rand() % 1 то всё время выдаёт только одно и...

Определить, находится ли координата на "ободе", или за пределами, или внутри круга (найти ошибку) - C++
Задача: пользователь вводит радиус круга и координату точки (х,у). Нужно определить находиться ли координата на &quot;ободе&quot; круга или за...

В файл с помощью структуры записать следующие данные: "название папки, ее размер, дата создания" - C++
Добрый день! Есть файл в нем с помощью структуры надо записать такие данные: &quot;название папки,ее размер, и дата создания&quot;. После заполнения...

Определить размер структуры "вручную" - C++
есть структура struct table{ int nomer; string surname; string name; string otch; string adress; string poruch; ...

Быстрый подсчет A^B mod C или "Алгоритм русского крестьянина" - C++
Нужно максимально быстро посчитать A^B mod C. Написала алгоритм, казалось бы все хорошо, да вот только сижу я на e-olimp'e, делаю задачки,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
19.04.2014, 13:51     Размер файла или "баги, лаги" #2
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
У меня файл весит 0 байт
Это откуда известно?
Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 156
19.04.2014, 14:57  [ТС]     Размер файла или "баги, лаги" #3
при запуске он создается если его нету. Файл в формате txt
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
19.04.2014, 15:36     Размер файла или "баги, лаги" #4
Natsu_Zirok, GetFileSize принимает на вход HANDLE, а что Вы передаете? Отсюда и ерунда на выходе. Как вариан, простой способ узнать размер файла: http://stackoverflow.com/questions/5...iles-size-in-c
Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 156
19.04.2014, 16:32  [ТС]     Размер файла или "баги, лаги" #5
tellg и seekg у меня выдают ошибку, так бы с радостью!
IrineK
Заблокирован
19.04.2014, 16:37     Размер файла или "баги, лаги" #6
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
при запуске он создается
Это откуда известно?
Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 156
19.04.2014, 18:17  [ТС]     Размер файла или "баги, лаги" #7
Смотрю в папку
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
19.04.2014, 18:19     Размер файла или "баги, лаги" #8
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
tellg и seekg у меня выдают ошибку, так бы с радостью!
Значит, с ошибкой надо разобраться. Ваш Кэп.
IrineK
Заблокирован
19.04.2014, 18:27     Размер файла или "баги, лаги" #9
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Смотрю в папку
Папка правильная?
DU
1480 / 1056 / 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
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 156
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
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
20.04.2014, 20:37     Размер файла или "баги, лаги" #12
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Файл открылся.
Ок, допустим, с открытием все в порядке.

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

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

Написать функцию, реализующую логическую операцию "Исключающее ИЛИ" - C++
Напишите функцию bool Xor (bool x, bool y), реализующую функцию &quot;Исключающее ИЛИ&quot; двух логических переменных x и y. Функция Xor должна...

Ошибка: "Попытка чтения или записи в защищенную память" - C++
Вот это выдает: Additional information: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память...

О том как я сошел с ума или "expression must have integral" - C++
вот часть кода double nP, nC; nA = 5; nB = -17; nP = 10; nC = 5; wcout &lt;&lt; L&quot;A = &quot; &lt;&lt; nA &lt;&lt; &quot;\tnB = &quot; &lt;&lt; nB &lt;&lt; &quot;\tP = &quot; &lt;&lt; nP &lt;&lt; &quot;\tC...

Алгоритм для реализации оператора "побитовое исключающее ИЛИ" - C++
Помогите пожалуйста не могу делать. Для заданных двух целых чисел предложите описание алгоритма для реализации оператора «побитовое...

Не работает setlocale(LC_ALL,"Russian") или Говорим по русски - C++
оператор setlocale(LC_ALL,&quot;Russian&quot;); при проверке одной консольной программы сpp в 3 оболочках C++Builder, CodeBlocks, MS VisualStudio...


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

Или воспользуйтесь поиском по форуму:
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     Размер файла или "баги, лаги"
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru