Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 21.04.2011
Сообщений: 31

Запись результатов в файл вместо вывода на консоль

24.12.2011, 20:35. Показов 2701. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер всем. Есть программа которая свой результат выводит в консоль. Мне необходимо сделать что бы результат в конце записывался в файл. Пробовал и с помощью fprintf но так не вышло. Кто знает-прощу помощи.
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
#include<stdio.h>
#include<sys/stat.h>
#include<sys/shm.h>
    
int main()
{
 
int segment_id;
char *shared_memory;
struct shmid_ds shmbuffer;
int segment_size;
const int shared_segment_size=0x6400;
segment_id=shmget(IPC_PRIVATE,shared_segment_size,IPC_CREAT|IPC_EXCL|S_IRUSR|S_IWUSR);
shared_memory=(char*)shmat(segment_id,0,0);
printf("\n Общая память приводится в адрес:%p",shared_memory);
shmctl(segment_id,IPC_STAT,&shmbuffer);
segment_size=shmbuffer.shm_segsz;
printf("\n Размер сегмента:%d",segment_size);
sprintf(shared_memory,"Трата Трата Та!");
shmdt(shared_memory);
shared_memory=(char*)shmat(segment_id,(void*)0x5000000,0);
printf("\n Общая память вернулась обратно по адресу:%p",shared_memory);
printf("\n%s\n",shared_memory);
shmdt(shared_memory);
shmctl(segment_id,IPC_RMID,0);
return 0;
}
Результат после компиляции
Общая память приводится в адрес:0x7f649b908000
Размер сегмента:25600
Общая память вернулась обратно по адресу:0x5000000
Трата Трата Та!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2011, 20:35
Ответы с готовыми решениями:

Неожиданное поведение программы: вместо вывода суммы чисел, на консоль всё время выводится ноль (цикл while)
Программа запрашивает ввод числа. После каждого введенного значения программа должна выдавать накопленную сумму введенных значений....

Табулирование функции трех переменных + запись в файл результатов. Файл не пишется
Помогите найти ошибку. Функция трех переменных f=f(x,y,z), x y - заданы начальные и конечные значения и шаг, z - массив, вводимый...

Запись результатов в файл
Здраствуйте дорогоие форумчане, я в дельфи новичек, еще всего не понимаю.. пот прошу у вас помощи Суть моей програмы. водит даные в форму...

4
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
24.12.2011, 23:00
этот вариант в файл не пишет. значит это рабочий вариант?
0
0 / 0 / 0
Регистрация: 08.09.2011
Сообщений: 22
24.12.2011, 23:11
Это рабочий. Но выводит содержимое на экран. нужно в файл.
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
24.12.2011, 23:27
так тебе нужно чтоб в файл выводилось только то, что выводится при помощи printf() на экран? если да - тогда не ясна проблема.. printf() замени на fprintf(). делов-то..
0
0 / 0 / 0
Регистрация: 08.09.2011
Сообщений: 22
25.12.2011, 14:41
Если сделаю так то выйдет в файле такое, без последней строчки

Code
1
2
3
Общая память приводится в адрес:0x7f649b908000
Размер сегмента:25600
Общая память вернулась обратно по адресу:0x5000000
А строка которая должна передаться с
sprintf(shared_memory,"Трата Трата Та!");
Не запишется в файл если сменю на fprintf. Тут как я понимаю с буффером нужно работать. С чем у меня к сожалению и проблемы
А конкретно в файл я должен вывести:
C
1
2
3
4
printf("\n Общая память приводится в адрес:%p",shared_memory);
printf("\n Размер сегмента:%d",segment_size);
sprintf(shared_memory,"Трата Трата Та!");
printf("\n Общая память вернулась обратно по адресу:%p",shared_memory);
Добавлено через 15 часов 3 минуты
Есть у кого какие идеи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2011, 14:41
Помогаю со студенческими работами здесь

Запись результатов в файл
(Перемещено из Turbo Pascal) Необходимо записать в файл исходную матрицу А и полученный массив В. при выполнении кода пишет...

Запись результатов в файл
Задание вроде бы не сложное -Дана последовательность A1,...An. Исключить из нее отрицательные элементы. Размерность массива n вводится с...

Запись данных в поток вывода на консоль, или могут ли быть объекты у абстрактных классов
Ребята, помогите разобраться. Читаю Шилдта С#. Фраза из книги: &quot;Потоки Console.Out и Console.Error являются объектами типа...

Запись в файл результатов запроса
Как записать select запрос в текстовый(или какой-нибудь) файл на форме? Помогите пожалуйста

Запись в файл результатов рассчета
нужно рассчитать расстояние до объекта в небе в любой момент времени, принять шаг дискретизации примерно по 30 секунд, вывести в файл в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru