当前位置: 首页 > news >正文

自己做视频网站能赚钱荣耀正品查询入口

自己做视频网站能赚钱,荣耀正品查询入口,com网站注册,数字化校园门户网站建设方案目录 C 语言中的格式化函数对比 1. printf / fprintf / sprintf 的异同 C 中的字符串格式化 1. 流式输出 (std::ostringstream) 2. C20/23 格式化库 (std::format#xff0c;需编译器支持) 跨语言对比与最佳实践 实战建议 总结 C 语言中的格式化函数对比 1. printf / …目录 C 语言中的格式化函数对比 1. printf / fprintf / sprintf 的异同 C 中的字符串格式化 1. 流式输出 (std::ostringstream) 2. C20/23 格式化库 (std::format需编译器支持) 跨语言对比与最佳实践 实战建议 总结 C 语言中的格式化函数对比 1. printf / fprintf / sprintf 的异同 函数输出目标返回值主要用途printf标准输出 (stdout)写入的字符数控制台输出fprintf任意文件流 (FILE*)写入的字符数文件或日志写入sprintf字符数组 (char[])写入的字符数内存中构造字符串 代码示例 #define _CRT_SECURE_NO_WARNINGS#include iostream#include time.husing namespace std;int main(){const int len 128;time_t tx time(nullptr);struct tm* p localtime(tx);char buff[len] {};fprintf(stdout, %4d/%02d/%02d/-%02d:%02d:%d\n, p-tm_year1900,p-tm_mon1,p-tm_mday,p-tm_hour,p-tm_min,p-tm_sec);sprintf(buff, %4d/%02d/%02d/-%02d:%02d:%d\n,p-tm_year 1900, p-tm_mon 1,p-tm_mday, p-tm_hour, p-tm_min, p-tm_sec);cout buff endl;return 0;} 关键风险 sprintf 无缓冲区越界检查若格式化后的字符串长度超过 buff 的大小会导致缓冲区溢出。 ✅ 安全改进 使用 snprintf 指定最大写入长度 snprintf(buff, len, ...);  // 保证不超过 len-1 字节 C 中的字符串格式化 1. 流式输出 (std::ostringstream) 核心优势 类型安全无需手动匹配格式符如 %d vs %s 内存安全自动管理缓冲区无需预分配固定大小 扩展性支持自定义类型的 operator 重载 代码示例 #define _CRT_SECURE_NO_WARNINGS#include iostream#include time.h#include sstreamusing namespace std;int main() {time_t tx time(nullptr);struct tm *tmbuf localtime(tx);ostringstream oss;oss (tmbuf-tm_year 1900) / (tmbuf-tm_mon 1) / tmbuf-tm_mday tmbuf-tm_hour : tmbuf-tm_min : tmbuf-tm_sec;​string datetime oss.str();cout datetime endl;return 0;} 2. C20/23 格式化库 (std::format需编译器支持) #include format​int main() {int year 2024, month 7, day 17;auto str format({:04}/{:02}/{:02}, year, month, day);// 输出 2024/07/17return 0;} 特点 类似 Python 的 str.format 语法 编译时格式字符串检查C20 起支持 consteval 高性能且类型安全 跨语言对比与最佳实践 特性C (sprintf)C (ostringstream)C20 (std::format)类型安全❌ 易出错✅ 安全✅ 安全缓冲区溢出风险❌ 高风险✅ 无✅ 无格式化灵活性✅ 高⚠️ 中等需手动填充✅ 高性能✅ 高⚠️ 中等✅ 高代码可读性❌ 低✅ 高✅ 高 实战建议 C 语言场景 始终优先使用 snprintf 而非 sprintf 检查返回值以确认实际写入长度  if (n len) { /* 处理截断 */ } C 场景 通用场景使用 std::ostringstream适合简单拼接和类型安全需求 高性能/复杂格式化使用 std::format需 C20 旧代码兼容可封装 snprintf 到 std::string  string format(const char* fmt, ...) {char buf[1024];va_list args;va_start(args, fmt);vsnprintf(buf, sizeof(buf), fmt, args);va_end(args);return buf;} 时间格式化专用工具 C11 起可使用 chrono std::put_time #define _CRT_SECURE_NO_WARNINGS #include iostream #include sstream #include iomanip #include chrono using namespace std; int main() {auto now chrono::system_clock::now();time_t t chrono::system_clock::to_time_t(now);ostringstream oss;oss put_time(localtime(t), %Y/%m/%d %H:%M:%S);string datetime oss.str();cout datetime endl;return 0; } 总结 C 语言用 snprintf 替代 sprintf并严格检查缓冲区大小 C 旧标准std::ostringstream 提供安全但稍显冗长的格式化 C20std::format 是兼顾性能、安全与可读性的终极方案 时间处理优先使用 chrono 和 std::put_time 避免手动计算
http://www.w-s-a.com/news/474034/

相关文章:

  • 企业网站改版的意义响应式网站建设新闻
  • 大连金州新区规划建设局网站金坛市建设局网站
  • 有哪些做排球比赛视频网站wordpress 教师工作坊
  • 深圳好点的网站建设公司互联网企业信息服务平台
  • 下载空间大的网站建设哈尔滨网站制作软件
  • 南城网站仿做无锡网站制作哪家价格便宜
  • c做的网站营销策划课程
  • 免费网站404免费进入重庆的公需科目在哪个网站做
  • 网站空间租用费用网站建设公司怎么宣传
  • 镇江网站建设优化案例分析dw2018网页制作步骤图文
  • 网站开发一个多少钱为什么前端都不用dw
  • 网站降权的原因北京中小企业网站建设公司
  • 个人域名能做网站吗wordpress
  • 手机网站设计只找亿企邦工业设计公司简介
  • 腾讯云主机做网站免费网站怎么做啊
  • 网站建设推广销售话术广州网页定制多少钱
  • 备案号是哪个网站项目管理pmp
  • 做网站需要哪些硬件软件网站视频链接怎么做的
  • 电子商务网站建设试题二wordpress主页显示浏览数
  • 网站快照没了广州企业电话大全
  • 网站项目开发收费标准网站开发app开发主营业务
  • 怎么到国外网站去接模具订单做互联网建设企业网站
  • 深圳品牌网站建设公司排名洪雅网站建设
  • nodejs 做网站wordpress主题绕过激活码
  • 平湖模板网站建设公司网页美工培训
  • 顺德网站建设市场建设工程交易中心网站
  • 深圳企业网站怎么做浪琴手表网站建设图
  • 2018网站外链怎么做济南 网站设计公司
  • 承德百度网站建设郑州网站seo优化公司
  • 四川建站模板网站公司分类信息网站制作