Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
помогите пожалуйста, что то целый день читаю про работу с файлами и никак не могу понять как работать с бинарными файлами суть задания такая консольное приложение с++ win 32. Надо записать 4 переменные в бинарный файл и считать их потом оттуда, как не пробую, считывается не то что записываю. для примера вот 4 переменные: char* name = "Motorbike"; char* color = "Blue"; int speed =155; float power = 3.3; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 16:39 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Лучше покажи как пишешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 16:40 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
ofstream outfile("c:\\test.bin", ios::binary); if (!outfile) { cout<<"error1"<<endl; _getch(); return 1; } char* name = "Motorbike"; char* color = "Blue"; int l = strlen(name); outfile.write(reinterpret_cast<char *>(&l), 1); int c = strlen(color); outfile.write(reinterpret_cast<char *>(&c), 1); outfile.write(reinterpret_cast<char *>(&name), sizeof(name)); outfile.write(reinterpret_cast<char *>(&color), sizeof(color)); int speed = 1525; outfile.write(reinterpret_cast<char *>(&speed), sizeof(double)); float power = 331.3; outfile.write(reinterpret_cast<char *>(&power), sizeof(float)); outfile.close(); ifstream infile("c:\\test.bin", ios::binary); if (!infile) { cout<<"error2"<<endl; _getch(); return 2; } int l_r; int c_r; int x; int speed_r; float power_r; infile.read(reinterpret_cast<char *>(&l_r), 1); char *name_r = new char[l_r]; infile.read(reinterpret_cast<char *>(&c_r), 1); char *color_r= new char[c_r]; infile.read(reinterpret_cast<char*>(&name_r), sizeof(name_r)); infile.read(reinterpret_cast<char*>(&color_r), sizeof(color_r)); infile.read(reinterpret_cast<char*>(&speed_r), sizeof(speed_r)); infile.read(reinterpret_cast<char*>(&power_r), sizeof(power_r)); infile.close(); cout << name_r << ' '<<color_r<<' '<<speed_r<<' '<<power_r<<' '; З.Ы. на си шарп давно писал, на с++ еще давнее, после си шарп вообще с++ перестал понимать...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 16:46 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Un1c0rn, оформляйте исходники с использованием тега [src] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 17:05 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. Что ты пытаешься записать этим кодом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 17:39 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
daunito, Код: sql 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 17:45 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
daunito Код: plaintext 1. 2. Что ты пытаешься записать этим кодом? исправил дабл на инт, если вы это имели ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 17:45 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Un1c0rn, ну а в чем проблема-то? Покажи что в файле. Вообще пишется туда что-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 18:05 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Unhandled exception at 0x76f915de in ttt.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0037f794.. при компиляции выдает вот это :), я пишу в visual studio 2010, не знаю он норм подходит для с++ ??? фаилик который создается прикрепил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 18:30 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Un1c0rndaunito, Код: sql 1. 2. 3. 4. 5. 6. 7. В общем, прежде чем лезть в файлы, прочитай в учебнике главу про указатели еще раз. Не используй CAST функции вообще. Во всяком случае в ближайший год они тебе только вредить будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 19:26 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Вот так заработало, только выдает не совсем то, не наведете еще куда нибудь ?), а вот с размерами колор и нейм вообще не пашет. вот что щас выдает Moto═════¤¤¤¤лллллллл■ю■ Blue¤¤¤¤лллллллл 1525 331.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 19:58 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
char* name = "Motorbike"; char* color = "Blue"; char name[] = "Motorbike"; char color[] = "Blue"; Чтобы размер правильно определяло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 20:29 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
char *name_r = new char[9]; char *color_r= new char[4]; char *name_r = new char[sizeof(name)]; char *color_r= new char[sizeof(color)]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 20:31 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
размер, std::string name = "Motorbike"; std::string color = "Blue"; чтобы вообще не парица, чё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 00:07 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
egorychразмер, std::string name = "Motorbike"; std::string color = "Blue"; чтобы вообще не парица, чё Ну сейчас насоветуешь... Код: plaintext 1. 2. вывод4 тогда уж надо рассказывать про size() и data(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 00:27 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Выдает в консоли 9 4 Moto═════¤¤¤¤лллллллл■ю■ Blue¤¤¤¤лллллллл 1525 332.22 Вопрос откуда берутся лишние символы ??? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 09:44 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Никогда не понимал смешения стилей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 12:07 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 12:52 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
не помогает, тоже самое выдает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 16:16 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Un1c0rnне помогает, тоже самое выдает... Вместо Код: plaintext 1. 2. нужно Код: plaintext 1. 2. И еще то, что написал m_Sla (в двух местах). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 16:47 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Un1c0rnне помогает, тоже самое выдает...Что в файл записал, то и вывел. Код: plaintext 1. 2. 3. Поставь Far например и посмотри, что ты реально в test.bin записываешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 16:54 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Un1c0rn, Еще и в записи тоже не та длина. Вместо Код: plaintext 1. 2. нужно Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 17:00 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. премного благодарен, с нулями бы никогда не догодался, так работает. Еще можно вопросик, вот формат длины имени и длины цвета, должны быть 1 байт, по условию задачи. Не подскажете это мне как реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2012, 18:56 |
|
||
|
Работа с бинарными файлами в c++
|
|||
|---|---|---|---|
|
#18+
Переменные l и с определяй не как int , а как переменные с размером 1 байт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2012, 03:18 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=88&tid=2020619]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 146ms |

| 0 / 0 |
