| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > чтение\запись char* в файл |
| Автор: Solomon 30.7.2007, 15:48 |
| Вообщем суть вот в чем... у меня есть в наличии две переменные int это как бы размер и чаровский массив char* как это все культурно сохранить и потом считать из файла.. особено меня интересует char*... И еще небольшой вопросик? char переменную если сохранять как символ или бинарно будет отличие в размере файла? |
| Автор: _hunter 30.7.2007, 16:02 |
| ReadFile/WriteFile... |
| Автор: Solomon 30.7.2007, 16:06 |
| _hunter, чего??? а это то тут причем?? мне в консоле надо стандартными средствами... записать в файл надо два инта lnt и потом чаровский массив на кот у нас есть указатель.. и соответственно считать потом это все |
| Автор: Kuvaldis 30.7.2007, 16:06 | ||
Solomon,
Нет, разницы не будет, так как char знаимает 1 байт Добавлено через 2 минуты и 5 секунд Делай бинарый файл, записывай сначала туда int, а потом строку все операции: fread /fwrite (или через файловый дескриптор и read / write ) |
| Автор: bsa 30.7.2007, 16:08 | ||
тут есть варианты. Вот вариант сохранения в бинарный файл:
|
| Автор: Daevaorn 30.7.2007, 16:09 |
не факт, но в 95% конечно 1 байт. |
| Автор: Solomon 30.7.2007, 16:10 |
| ну вообщем длинну строки можно получить перемножив две интовские переменные и еще их перемножив на 3... |
| Автор: Daevaorn 30.7.2007, 16:12 | ||
ну это ты конечно сморозил не то что-то... |
| Автор: Solomon 30.7.2007, 16:12 |
| ну вообщес из вышесказанного думаю разберусь.. если будут еще вопросы то напишу... всем спасибо Добавлено через 2 минуты да нет.. просто вот какая ситуация.. картинку представляеш? две переменные это её размеры... еще на 3 - это каждый пикчель имеет три значения.. вот эти то значения и хранятся в массиве char* впринципе практически структура bmp файла... |
| Автор: Daevaorn 30.7.2007, 16:17 | ||
ну это твое дело как ты его получаешь. просто нужно точно знать размер массива и этот размер записать в файл. |
| Автор: akizelokro 31.7.2007, 11:04 |
| а в char * у тебя только текстовуха? 0x00 не стоят где попало? или еще какая попало явно не текстовуха? бинарник всяко лучше. инты лучше не писать. sizeof выдаст на одном компе 2 байта, на другом 4. лучше принудительно пиши 2 байта, либо пиши лонги, они имхо чаще 4 байта., хотя к интам они могут свестись коряво?! (signed-unsigned) потом бросай собственно битовуху c уверенностью что об символ конца файла не обломишься нигде. |