Форум программистов, компьютерный форум, киберфорум
Наши страницы

Считывание из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработать абстрактный тип данных (АТД) «Двусвязный циклический список» http://www.cyberforum.ru/cpp-beginners/thread1827242.html
Разработать абстрактный тип данных (АТД) «Двусвязный циклический список». АТД должен обеспечивать выполнение следующих операций: 1. добавление элемента в список; 2. удаление элемента из списка;...
C++ Написать программу на С++ которая считает следующие выражения Написать программу на С++ которая считает следующие выражения: Если есть возможность, можно написать комментарии к командам? http://www.cyberforum.ru/cpp-beginners/thread1827229.html
Сохранить содержимое WebBrowser на PC с рандомным названием C++
Доброго времени суток. Очень прошу вашей помощи. Написал программу, которая выполняет множество функций, вписывает в WebBrowser. И вот уже вроде конец работе, как споткнулся на мелочи которую не могу...
Универсальный конвертер систем счисления C++
Напишите программу, переводящую запись числа между двумя произвольными системами счисления. Входные данные На вход программа получает три величины: n, A, k, где n и k – натуральные числа от 2 до...
C++ Set и get или открытое поле http://www.cyberforum.ru/cpp-beginners/thread1827185.html
Доброго времени суток, форумчане! Имеет ли смысл делать set и get методы для закрытого поля, если выполняется по сути только присваивание (без проверок) и получение значения? В каких случаях...
C++ Найти элемент массива на который делятся все остальные Условие задачи: В массиве из n целых чисел найти и распечатать элемент на который делятся все остальные, если такового элемента нет, то распечатать слово "нет" Я в С++ еще новичок, поэтому если не... подробнее

Показать сообщение отдельно
nd2
2486 / 2074 / 726
Регистрация: 29.01.2016
Сообщений: 6,857
16.10.2016, 13:07
Цитата Сообщение от Evilmonstre Посмотреть сообщение
out.write((char *)&loginTemp, sizeof(int)*strlen(loginTemp));
То есть это не правильная запись в двоичный файл?
loginTemp - у тебя это char*. Первым параметром write() должен быть char*. Зачем тогда ты берёшь адрес у указателя и приводишь его к char*, если и так это char*?
loginTemp - это, у тебя, указатель на Си-сроку, поэтому strlen(loginTemp) выдаст количество символов в строке (не считая '\0'). Ты умножаешь это количество ещё на 4 (размер int), значит в файл запишется строка, плюс ещё память, за пределами строки, в размер трёх таких строк. Но это, если бы строку записывал, а ты записываешь память под указателем и дальше, дальше... Если ты это хочешь сделать, то тогда, такая запись в двоичный файл - правильная.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru