Формат printf и отступ слева - C (СИ)
Формулировка задачи:
Всем привет.
Есть код:
имено с такой ориентацией на странице, тк если сделать его таким:
то в файле он будет записан с таким же отступом.
Как сохранить красоту кода (как во втором варианте) и убрать отступ в файле?
надо перенести на следующую строку
_snprintf(tmp, _countof(tmp) - 1, "%d. Buyer %s %s, got %d Rub for %d USD with exchange rate: %.2f USD/Rub.\r\n\ %d. Seller %s %s, got %d USD for %d USD with exchange rate: %.2f USD/Rub.\r\n\ %d. Organization cash increased for %d and now it is %lld Rub.\r\n", operationNum, buyer.szName, buyer.szSurname, sellerRublesToSell, buyerDollarsToSell, rubInUsd, operationNum, seller.szName, seller.szSurname, buyerDollarsToSell, sellerRublesToSell, rubInUsd, operationNum, totalComissionRub, organizationCash); log.Write(tmp, strlen(tmp));
_snprintf(tmp, _countof(tmp) - 1, "%d. Buyer %s %s, got %d Rub for %d USD with exchange rate: %.2f USD/Rub.\r\n\ %d. Seller %s %s, got %d USD for %d USD with exchange rate: %.2f USD/Rub.\r\n\ %d. Organization cash increased for %d and now it is %lld Rub.\r\n", operationNum, buyer.szName, buyer.szSurname, sellerRublesToSell, buyerDollarsToSell, rubInUsd, operationNum, seller.szName, seller.szSurname, buyerDollarsToSell, sellerRublesToSell, rubInUsd, operationNum, totalComissionRub, organizationCash); log.Write(tmp, strlen(tmp));
разобрался
надо \r добавить
а нет
для _snprintf не работает
для printf работает - на экран выводится все нормально, а в файле отступы
для _snprintf эти части
\r\n
Решение задачи: «Формат printf и отступ слева»
textual
Листинг программы
_snprintf(tmp, _countof(tmp) - 1, "%d. Buyer %s %s, got %d Rub for %d USD with exchange rate: %.2f USD/Rub.\r\n" "%d. Seller %s %s, got %d USD for %d USD with exchange rate: %.2f USD/Rub.\r\n" "%d. Organization cash increased for %d and now it is %lld Rub.\r\n", operationNum, buyer.szName, buyer.szSurname, sellerRublesToSell, buyerDollarsToSell, rubInUsd, operationNum, seller.szName, seller.szSurname, buyerDollarsToSell, sellerRublesToSell, rubInUsd, operationNum, totalComissionRub, organizationCash); log.Write(tmp, strlen(tmp));
Объяснение кода листинга программы
- В данном коде используется функция _snprintf для форматирования и записи информации в строку tmp.
- Форматирование строки осуществляется с помощью использования спецификаторов формата, таких как
%d
,%s
, и т.д. - Первая строка форматирования соответствует операции покупки, где указывается номер операции, имя и фамилия покупателя, количество проданных рублей и долларов, а также курс обмена рублей на доллары.
- Вторая строка форматирования соответствует операции продажи, где указывается номер операции, имя и фамилия продавца, количество проданных долларов и рублей, а также курс обмена рублей на доллары.
- Третья строка форматирования соответствует операции увеличения денежных средств организации, где указывается номер операции, текущее значение денежных средств и их увеличение.
- Функция log.Write используется для записи отформатированной строки в лог-файл.
- Значения переменных buyer.szName, buyer.szSurname, seller.szName, seller.szSurname, sellerRublesToSell, buyerDollarsToSell, rubInUsd, totalComissionRub и organizationCash используются в качестве значений при форматировании строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д