|
|
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
хелп ми, плиз! что делает код: Код: plaintext 1. 2. 3. как именно происходит считывание, если s1-класс с 3мя целыми полями, sr.Name - соответственно, файл... блин, ну не догоняет моё си-шарпное мышления такую тяжеловесную конструкцию ... ;((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:02 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
Люди!!!! вы еще живы??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:20 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
я_Link_a яa> fstream in((sr.Name).c_str(),ios::in | ios::binary); яa> in.read((char *)(s1+end),sr.Size); яa> end += (sr.Size/16); яa> in.~fstream(); яa> как именно происходит считывание а что именно интересует ? как sr.Size байт читаются из файла ? или как они записываются по адресу (s1+end) ? Замечание: 16 - тут некорректно, разумнее написать sizeof(*s1) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:30 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:31 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
я_Link_aхелп ми, плиз! что делает код: Код: plaintext 1. 2. 3. как именно происходит считывание, если s1-класс с 3мя целыми полями, sr.Name - соответственно, файл... блин, ну не догоняет моё си-шарпное мышления такую тяжеловесную конструкцию ... ;((( Этот код убивает мозг программиста, пытающегося в нем разобраться и делает невозможным перенос программы на системы с другим размером базовых типов. Наверное, s1 - все же не один объект, а массив объектов? Если так, то здесь из файла читаются "сырые" данные и записываются поверх массива. Если ранее эти данные были взяты из такого же массива, то все байты встанут на свои места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:31 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
вообще не понял зачем этот ахтунг: Код: plaintext в результате деструктор вызовется два раза, что не есть гуд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:39 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
а зачем поток прибивать явным вызовом деструктора? нормально то нельзя его закрыть через close? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:43 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
Zmeishe Код: plaintext 1. на end элементов типа данных указателя s1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:45 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
пасибки огромное !!! ))) что за ахтунги - я тоже не понимаю - программу не я писала, просто код перевожу с С++ Buildera на C# с оптимизацией. Еще раз сенкс! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 13:59 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
хотя стоп - если класс S1 состоит из 3 полей след.типов: __int64, int, int - то как производится ПРИСВОЕНИЕ ПОЛЯМ КЛАССА СЧИТАННЫХ БАЙТ? Где это описывается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 14:08 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
я - Link_aхотя стоп - если класс S1 состоит из 3 полей след.типов: __int64, int, int - то как производится ПРИСВОЕНИЕ ПОЛЯМ КЛАССА СЧИТАННЫХ БАЙТ? Где это описывается? Функция реад, читает в переданный по указателю буфер. Ты по указателю передаешь объекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 14:12 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
ааа, т.е. в потоке считывается int64 (8 byte), затем int(4 byte) и int(4 byte) и присваиваются полям, в случае нормальной работы, а при ошибке - данные "не ложатся ))"... более-менее понятненько.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 14:27 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
Считываются по байтику и кладутся по очереди в память которую ты указал. Или считывается блок и накладывается на память, которая начинается с указателя на который ты указал. Как угодно. Когда ты обращаешься к свойствам класса, то ты читаешь из памяти, которая выделена для этих свойств. Присваивание же полям, как я это понимаю, это считывание по размеру каждого из полей в само поле, а не классом целиком. Разница: если записал в файл из объекта, где поля распологаются с "дырками", а прочитал в объект "без дырок", то поля друг на друга не попадут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 14:34 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
если __int64, int, int, то дырок нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 14:36 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
maXmoесли __int64, int, int, то дырок нет. Я в общем. А на счет дырок. Надо знать параметр выравнивания. Возможно, двойное слово и максимальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 15:19 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
теперь я все понял а . пасибки ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 18:40 |
|
||
|
что делает код???
|
|||
|---|---|---|---|
|
#18+
я - Link_aтеперь я все понял а . пасибки ))) умная бландынка.. (круглый) ЗЫ Шутк юмора... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2006, 16:34 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34219823&tid=2029760]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 362ms |

| 0 / 0 |
