解决Visual Studio C/C++控制台中文乱码与换行符问题
1. 问题现象与根源剖析相信很多刚开始在 Visual Studio 里写 C/C 控制台程序的朋友都遇到过这个让人挠头的问题用printf打印中文要么显示成乱码要么就是换行符\n没起作用导致所有输出都挤在一行。这看起来是个小问题但调试起来特别影响心情和效率。我刚接触 VS 时也在这上面栽过跟头明明代码逻辑没问题输出却“面目全非”。简单来说这个问题通常不是你的代码写错了而是Windows 控制台、C运行时库和源代码文件编码这三者之间没有“对上暗号”导致的。在 Linux 或 macOS 的终端下这类问题很少见因为它们的系统环境默认就使用 UTF-8 编码。但 Windows 的历史包袱比较重它的控制台cmd.exe, PowerShell在传统模式下默认使用本地代码页比如简体中文是 GBK代码页 936而现代的开发工具和源代码则越来越倾向于使用 UTF-8。当编码不匹配时中文就会显示为乱码。至于换行符显示异常往往是因为输出被重定向到文件或者控制台的缓冲区行为与我们预期不符。注意这里讨论的是使用 Visual Studio 自带的 MSVC 编译器编译生成的、运行于 Windows 控制台的原生 C/C 程序。如果你用的是 MinGW 或 Cygwin 等 GCC 工具链或者在其他 IDE如 VSCode中配置了其他编译器其底层机制可能略有不同但核心的编码问题原理是相通的。1.1 乱码的“三岔口”编码冲突详解要彻底解决我们得先理清冲突发生在哪里。主要涉及三个环节源代码文件编码你的.c或.cpp文件本身是以什么编码保存的是 UTF-8 with BOM, UTF-8 without BOM, 还是 ANSI (在中文 Windows 下即 GBK)Visual Studio 的编辑器可以设置和转换这个编码。程序执行时编码运行时字符集C 标准库函数如printf在执行时如何看待你源代码中的字符串字面量比如你好这取决于编译器的执行字符集设置。控制台活动代码页程序运行所在的 Windows 控制台窗口当前使用什么编码来显示字符这决定了终端如何解释程序输出的字节流。乱码的产生就是这三个环节的编码不一致。例如源代码保存为 UTF-8编译器也按 UTF-8 处理字符串但控制台却用 GBK 去解码显示那么 UTF-8 编码的中文字节序列就会被 GBK 解码成无意义的字符也就是乱码。换行符的问题则略有不同。\n在 C 语言中表示“换行”Line Feed, LF。在 Windows 系统中文本文件的标准换行是\r\n回车换行CRLF。当程序的标准输出stdout被重定向到文件时C 运行时库可能会根据模式文本模式或二进制模式对\n进行转换。此外控制台自身的缓冲区刷新机制也会影响输出是否立即显示并换行。2. 核心解决方案多管齐下配置环境解决这个问题没有单一的“银弹”需要根据你的项目需求和开发习惯选择一套组合拳。下面我分享几种经过验证的有效方案从简单到彻底你可以根据自己的情况选择。2.1 方案一设置控制台代码页快速临时方案这是最直接、最快速的临时解决方法尤其适合快速测试。其原理是让控制台的编码与程序输出的编码匹配。在main函数开头添加以下系统调用#include windows.h int main() { // 设置控制台输出代码页为 UTF-8 SetConsoleOutputCP(CP_UTF8); // 可选也设置控制台输入代码页为 UTF-8以便能输入中文 // SetConsoleCP(CP_UTF8); printf(你好世界\n); return 0; }原理与注意事项SetConsoleOutputCP(CP_UTF8)函数将当前控制台窗口的输出编码设置为 UTF-8。这样你的程序输出的 UTF-8 字节流就能被正确显示。这个方法只影响你这次运行的程序所在的控制台窗口。关闭窗口后新开的控制台会恢复默认设置。关键前提你的程序必须确实输出了 UTF-8 编码的字符串。这要求你的源代码文件编码是 UTF-8并且编译器没有对其进行转换。在 Visual Studio 2015 及更新版本中如果源代码是 UTF-8 with BOMMSVC 编译器会将其识别为 UTF-8 并保持。对于 UTF-8 without BOM 的文件编译器可能会根据当前系统区域设置如 GBK去解释从而导致问题。因此确保源代码文件是 UTF-8 with BOM是配合此方法的基础。优点简单无需修改项目配置对现有代码侵入性小。缺点每次运行都需要执行这段代码如果程序输出被重定向到文件或管道此设置无效。2.2 方案二配置 Visual Studio 项目属性一劳永逸方案这是更根本的解决方案通过配置编译器选项从源头上确保字符串以正确的编码处理。我们主要关注两个设置“执行字符集”和“源字符集”。操作步骤在解决方案资源管理器中右键点击你的项目选择“属性”。在属性页中导航到“配置属性” - “C/C” - “命令行”。在“其他选项”对话框中添加以下编译器开关/utf-8这个是最重要的选项。它同时将“源字符集”和“执行字符集”都设置为 UTF-8。这意味着编译器会假设你的源代码文件是 UTF-8 编码并且编译后程序内部使用的宽字符和多字节字符也使用 UTF-8 编码。强烈推荐直接使用这个选项。如果出于某些原因需要分别指定可以使用/source-charset:utf-8指定源文件编码为 UTF-8。/execution-charset:utf-8或/validate-charset指定执行字符集为 UTF-8。同时为了兼容性建议也设置一下“高级”属性导航到“配置属性” - “C/C” - “高级”。将“字符集”设置为“使用多字节字符集”。注意这里不是“使用 Unicode 字符集”后者会启用_UNICODE和_T()宏主要影响 Windows API 调用。对于纯控制台printf我们关注的是多字节字符的编码所以选择“使用多字节字符集”并配合/utf-8选项让这个“多字节”就是 UTF-8。为什么这样有效通过/utf-8开关你明确告诉了 MSVC 编译器“请把源代码里的字符串原封不动地当作 UTF-8 序列编译到程序里。” 这样printf输出的就是纯正的 UTF-8 字节。此时你再配合方案一的SetConsoleOutputCP(CP_UTF8)或者直接使用一个本身就支持 UTF-8 的终端如 Windows Terminal或新版 Windows 10/11 中通过系统设置开启的 UTF-8 全局支持就能完美显示中文。实操心得在团队项目中务必将这些项目属性设置提交到版本控制系统如.vcxproj文件。这样可以确保所有团队成员在打开项目时编译环境是一致的避免出现“在我机器上好好的”这类问题。2.3 方案三使用宽字符和控制台专用 APIWindows 原生方案如果你主要针对 Windows 平台并且不介意使用 Windows 特有的 API那么直接使用宽字符wchar_t和对应的控制台输出函数是另一个非常稳健的选择。#include windows.h #include stdio.h #include wchar.h int main() { // 方法1使用 wprintf 配合区域设置可能仍受控制台代码页影响 // setlocale(LC_ALL, ); // 使用系统默认区域对控制台输出不一定有效 // wprintf(L你好世界\n); // 方法2直接使用 Windows Console API最可靠 HANDLE hConsole GetStdHandle(STD_OUTPUT_HANDLE); if (hConsole ! INVALID_HANDLE_VALUE) { DWORD charsWritten; const wchar_t* message L你好世界\n; WriteConsoleW(hConsole, message, wcslen(message), charsWritten, NULL); } // 方法3使用 _putws (微软扩展) // _putws(L你好世界); return 0; }优缺点分析优点完全不依赖控制台的代码页设置。WriteConsoleW直接向控制台写入宽字符UTF-16 LE这是 Windows 内部使用的编码因此总能正确显示。这是最可靠的方法。缺点代码失去了可移植性无法直接在 Linux/macOS 上编译运行。而且如果你需要格式化输出宽字符版本的格式化函数如wprintf,fwprintf其行为依然可能受到setlocale和底层 C 库实现的影响在某些旧版本环境或特定配置下仍可能出问题不如WriteConsoleW绝对可靠。2.4 方案四升级你的终端环境现代终极方案与其让程序适应陈旧的终端不如升级终端本身。Windows Terminal 是一个现代化、高性能的终端应用程序它对 UTF-8 的支持非常好。从 Microsoft Store 安装Windows Terminal。在 Windows Terminal 的设置中其默认配置文件如 PowerShell 或 cmd通常已经能很好地处理 UTF-8 输出。更彻底的方法是在Windows 系统设置中开启全局 UTF-8 支持打开“设置” - “时间和语言” - “语言和区域”。点击“管理语言设置”或“相关设置”下的“管理语言设置”。在“区域”设置对话框中切换到“管理”选项卡。勾选“Beta 版使用 Unicode UTF-8 提供全球语言支持”。重启电脑。效果启用此功能后整个系统的活动代码页将变为 UTF-8代码页 65001。这意味着传统的cmd.exe也会使用 UTF-8很多历史遗留的编码问题会迎刃而解。但请注意这是一个测试版功能极少数非常古老的、硬编码了本地代码页的程序可能会出现异常。对于日常开发和学习我个人非常推荐开启此选项。3. 换行符异常的诊断与解决解决了中文乱码我们再来看看换行符\n显示异常的问题。这里“异常”通常有两种表现在控制台里输出没有换行所有内容连在一起。输出被重定向到文件如program.exe output.txt后文件中的换行符是\n(LF) 而不是 Windows 标准的\r\n(CRLF)。3.1 控制台缓冲区与刷新第一种情况通常是输出缓冲区没有及时刷新导致的。printf的输出通常是行缓冲的这意味着遇到换行符\n时缓冲区才会被刷新并显示。但在某些情况下比如程序崩溃、或者输出不是指向交互式终端而是管道/文件时这个行为可能改变。解决方案在需要确保输出立即显示的地方手动刷新缓冲区fflush(stdout);。如果是一整条输出后没换行可以在printf字符串末尾明确加上\n。设置缓冲区模式可以使用setvbuf(stdout, NULL, _IONBF, 0)将标准输出设置为无缓冲模式这样每个字符都会立即输出但会降低性能一般不建议。3.2 文本模式与二进制模式第二种情况涉及文件操作中的模式区别。当标准输出被重定向到文件时它被视为一个文件流。在文本模式默认下C 运行时库会在输出时将\n转换为平台特定的行结束符Windows 上是\r\n。但有时这个转换可能因为流的具体实现或重定向方式而未发生。解决方案与理解 对于控制台程序我们通常不需要担心这个因为控制台设备驱动会处理显示。问题主要出现在重定向时。一个更清晰的做法是如果你的程序明确要生成文本文件应该以文本模式打开文件进行写入FILE* fp fopen(output.txt, w); // 文本模式 fprintf(fp, 内容\n); fclose(fp);如果你通过重定向得到的文件是\n而你需要\r\n你可以使用dos2unix工具的逆操作如unix2dos命令来转换或者在代码中明确写入\r\n。但更现代的观点是在跨平台项目中统一使用\n并在需要时由版本控制系统如 Git自动转换配置core.autocrlf是更好的实践。4. 完整的最佳实践配置流程结合以上方案我推荐一套适用于 Visual Studio 2022 及更新版本的、兼顾可靠性和现代性的配置流程让你新创建的项目从一开始就避开这些坑。创建新项目创建“控制台应用”项目。设置项目属性打开项目属性页。C/C-命令行在“其他选项”中添加/utf-8。C/C-高级将“字符集”设置为“使用多字节字符集”。可选链接器-系统将“子系统”设置为“控制台 (/SUBSYSTEM:CONSOLE)”这通常是默认值。设置源代码文件编码在 Visual Studio 编辑器中打开你的主源文件如main.cpp。点击菜单文件-高级保存选项。将编码选择为“Unicode (UTF-8 带签名) - 代码页 65001”即 UTF-8 with BOM。点击确定保存。提示如果“高级保存选项”没有出现在菜单中可以通过工具-自定义-命令选项卡将其添加到菜单栏。编写测试代码#include stdio.h #include locale.h int main() { // 可选设置本地化影响 isalpha()、日期格式等函数对 printf 中文输出帮助有限 // setlocale(LC_ALL, .UTF-8); // 注意MSVC 的 setlocale 对控制台编码影响不大 printf(UTF-8 中文测试你好Visual Studio\n); printf(换行测试第一行\n第二行\n); return 0; }选择并配置运行环境推荐使用Windows Terminal来运行你的程序。你可以在 Visual Studio 中配置让调试时直接启动 Windows Terminal。或者编译生成 exe 后手动在 Windows Terminal 中运行。备用如果使用传统控制台cmd在程序入口点调用SetConsoleOutputCP(CP_UTF8);。按照这个流程配置后你的程序在 Windows Terminal 或开启了 UTF-8 Beta 功能的系统中应该能稳定、正确地输出中文和换行符。5. 疑难杂症排查清单即使配置得当偶尔还是会遇到奇怪的问题。下面这个清单可以帮助你快速定位现象可能原因排查步骤与解决方案中文显示为问号?控制台字体不支持中文字符集。1. 在控制台窗口标题栏右键 - 属性 - 字体选择“新宋体”或“NSimSun”等中文字体。2. 使用 Windows Terminal其默认字体 Cascadia Code/Mono 支持中文。中文显示为乱码非问号编码不匹配。程序输出编码与控制台显示编码不一致。1. 确认项目属性已添加/utf-8。2. 确认源代码文件是 UTF-8 with BOM。3. 在程序中调用SetConsoleOutputCP(CP_UTF8)或检查系统是否开启 UTF-8 支持。4. 在 Windows Terminal 中运行试试。部分中文正确部分乱码字符串中混用了不同编码的字符或文件编码损坏。1. 检查源代码文件确保全部内容保存为同一种编码推荐 UTF-8 with BOM。2. 避免从网页、聊天窗口等地方直接复制粘贴特殊符号或中文到代码中可能引入不可见字符。\n在控制台不换行输出缓冲区未刷新或标准输出被重定向。1. 在printf后添加fflush(stdout);。2. 确保字符串末尾有\n。3. 检查程序是否以管道方式被调用如由其他程序启动。重定向到文件后换行符不对文件以二进制模式被写入或重定向流未进行文本模式转换。1. 如果需要在代码中生成 Windows 风格换行显式使用\r\n。2. 对于重定向结果使用文本编辑器如 VS Code, Notepad可以识别并正确显示\n。如需转换可用unix2dos工具。调试时输出窗口无中文或乱码Visual Studio 的“输出”窗口或“调试”控制台可能使用不同编码。1. 程序输出到“调试”控制台时其编码行为可能与独立控制台不同。这是 VS 自身问题。2.最佳实践调试时在项目属性调试-命令中使用cmd /k yourprogram.exe或配置为使用外部控制台这样程序会在独立的 cmd 窗口中运行编码行为更可控。使用wprintf仍乱码未设置正确的本地化环境或控制台代码页不支持宽字符输出。1. 调用_setmode(_fileno(stdout), _O_U16TEXT);将标准输出模式设置为宽文本模式需包含fcntl.h和io.h。注意在此模式设置后不能再使用printf必须统一使用wprintf。2. 直接使用WriteConsoleWAPI这是最可靠的方式。最后我个人最推荐的组合是项目属性设置/utf-8 源代码保存为 UTF-8 with BOM 使用 Windows Terminal 运行。这套组合拳几乎能覆盖 99% 的现代 C/C 控制台开发场景让你彻底摆脱编码和换行符的困扰把精力集中在真正的代码逻辑上。编码问题本质上是环境配置问题花一点时间把它配顺了后续的开发体验会顺畅很多。

相关新闻

Java HashMap 扩容原理实战:负载因子、树化阈值与初始容量到底怎么设

Java HashMap 扩容原理实战:负载因子、树化阈值与初始容量到底怎么设

Java HashMap 扩容原理实战:负载因子、树化阈值与初始容量到底怎么设 new HashMap<>() 你写了无数遍,但很少有人想过一个问题:往里塞 1000 个元素,这个 HashMap 到底扩容了几次?每次扩容做了什么?为什么面试官老爱问「初始容量给多少合适」? 这不是背八股文,是真会影响…

2026/8/10 2:28:38 阅读更多 →
Go 用 bufio.Scanner 读大文件踩坑:默认 64KB 行上限、Buffer 扩容与按 Token 切分

Go 用 bufio.Scanner 读大文件踩坑:默认 64KB 行上限、Buffer 扩容与按 Token 切分

Go 用 bufio.Scanner 读大文件踩坑:默认 64KB 行上限、Buffer 扩容与按 Token 切分 用 Go 逐行读文件,几乎所有人第一反应都是 bufio.Scanner,写法也确实优雅: scanner : bufio.NewScanner(file) for scanner.Scan() {line : scanner.Text()// 处理每一行 }小文件跑得好好的,直…

2026/8/21 18:39:57 阅读更多 →
终极指南:如何在浏览器中免费畅玩开源三国杀网页版

终极指南:如何在浏览器中免费畅玩开源三国杀网页版

终极指南&#xff1a;如何在浏览器中免费畅玩开源三国杀网页版 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 还在为下载安装繁琐的三国杀客户端而烦恼吗&#xff1f;想要随时随地与朋友来一局经典的三国杀对战吗&#xff1f;开源…

2026/8/22 15:08:53 阅读更多 →

最新新闻

灰色预测模型GM(1,1)原理、实战与数学建模应用指南

灰色预测模型GM(1,1)原理、实战与数学建模应用指南

1. 项目概述&#xff1a;从“信息贫瘠”到“小样本预测”的利器如果你参加过数学建模竞赛&#xff0c;或者在工作中处理过数据量少、信息不完全的预测问题&#xff0c;大概率听过“灰色模型”这个名字。我第一次接触它是在准备一场区域性的建模比赛&#xff0c;当时手头只有寥寥…

2026/8/24 9:23:43 阅读更多 →
数字孪生与算力网络驱动的高效异构LLM具身智能体协同系统

数字孪生与算力网络驱动的高效异构LLM具身智能体协同系统

1. 项目概述&#xff1a;当具身智能体遇上算力网络与数字孪生最近在搞一个挺有意思的项目&#xff0c;核心是解决一群“异构”的大型语言模型&#xff08;LLM&#xff09;具身智能体&#xff08;Embodied Agents&#xff09;在复杂环境里高效协同的问题。听起来有点绕&#xff…

2026/8/24 9:23:43 阅读更多 →
AI智能体记忆模型设计:从向量检索到统一记忆架构的演进

AI智能体记忆模型设计:从向量检索到统一记忆架构的演进

1. 项目概述&#xff1a;当AI智能体需要“记忆”时&#xff0c;我们谈什么&#xff1f;如果你最近在捣鼓AI智能体&#xff08;AI Agent&#xff09;&#xff0c;无论是用LangChain、AutoGPT还是自己手搓框架&#xff0c;大概率都遇到过同一个头疼的问题&#xff1a;“记忆”太短…

2026/8/24 9:23:43 阅读更多 →
车灯线光源优化设计:从光线追迹到约束优化的工程实践

车灯线光源优化设计:从光线追迹到约束优化的工程实践

1. 项目概述&#xff1a;一个经典的工程优化问题2002年的全国大学生数学建模竞赛A题“车灯线光源的优化设计”&#xff0c;对于很多经历过那个年代的理工科学生&#xff0c;尤其是车辆工程、光学工程和应用数学背景的朋友来说&#xff0c;绝对是一个绕不开的经典案例。它不像现…

2026/8/24 9:23:43 阅读更多 →
chan_sip还是chan_pjsip?Browser Phone适配Asterisk的2种配置方案深度对比

chan_sip还是chan_pjsip?Browser Phone适配Asterisk的2种配置方案深度对比

chan_sip还是chan_pjsip&#xff1f;Browser Phone适配Asterisk的2种配置方案深度对比 【免费下载链接】Browser-Phone A fully featured browser based WebRTC SIP phone for Asterisk 项目地址: https://gitcode.com/gh_mirrors/br/Browser-Phone Browser Phone 是一款…

2026/8/24 9:23:43 阅读更多 →
2026年福建做智慧排水监测系统的公司前10名有哪些?

2026年福建做智慧排水监测系统的公司前10名有哪些?

台风中心刚在福建沿海登陆&#xff0c;福州城区的雨势却没有立刻减弱&#xff0c;天文大潮正把闽江水顶进雨水排口&#xff0c;管网液位在短时间内快速抬升&#xff0c;调度大屏上的监测点陆续变红。这样的场景&#xff0c;福建沿海城市每年汛期都可能遇到——暴雨和潮水同时到…

2026/8/24 9:22:42 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力&#xff1b;确需渲染 HTML 时&#xff0c;先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述&#xff1a;Windows登录密码的“黑匣子”每次你按下CtrlAltDel&#xff0c;输入密码&#xff0c;然后看到那个熟悉的桌面&#xff0c;这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者&#xff0c;我经常被问到&#xff1a;“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述&#xff1a;AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时&#xff0c;遇到一个典型案例&#xff1a;候选人在视频面试中无意提到竞争对手产品名称&#xff0c;系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →