You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
+ 书籍,在文献合集中对象的字段 `type` 为 `"book"`,只具有`ISBN`号,需要程序从网络上查询合适的额外信息,最终的输出格式为 `[id] book: [作者], [书籍标题], [出版社], [出版年份]`,例如 `[1] book: Randal E. Bryant, David R. O'Hallaron, Computer Systems, Addison-Wesley, 2015`。
92
+
+ 网页,在文献合集中对象的字段 `type` 为 `"webpage"`,只具有网址,同样需要程序从网络上查询,最终的输出格式为 `[id] webpage: [网页标题]. Available at [网址]`,例如 `[2] webpage: PyTorch. Available at https://pytorch.org`。
93
+
+ 文章在文献合集中对象的字段 `type` 为 `"article"`,对象的内容包含了它的全部信息,最终的输出格式为 `[id] article: [作者], [文章标题], [期刊名], [发表年份], [卷号], [期号]`,例如 `[3] article: Marshall Kirk McKusick, William N. Joy, Samuel J. Leffler, Robert S. Fabry, A Fast File System for UNIX, ACM Transactions on Computer Systems, 1984, 2, 3`。
如果选项出现冲突、出现未知选项、错误选项等,程序不应该读取任何输入,并 `std::exit(1)`。对于用户任何不合法的输入,例如不合法的文献合集、引用 id 未出现在合集中、合集对象字段不正确等,我们不会读取你输出了什么,但是也需要 `std::exit(1)`;同时如果输出到文件,则只有当输入完全正确时才创建输出文件。请保证程序的**健壮性**,助教会想出各种奇怪的 case 作为输入。我们唯一保证的是:
115
+
如果选项出现冲突、出现未知选项、错误选项等,程序不应该读取任何输入,并 `std::exit(1)`。对于用户任何不合法的输入,例如不合法的文献合集、引用 id 未出现在合集中、id 包含非数字字母的字符、合集对象字段不正确等,我们不会读取你输出了什么,但是也需要 `std::exit(1)`;同时如果输出到文件,则只有当输入完全正确时才创建输出文件。请保证程序的**健壮性**,助教会想出各种奇怪的 case 作为输入。我们保证的是:
不过,可以注意到我们在访问网站时通常不会输入 IP 地址,而是输入一个形如 `baidu.com` 的形式(即域名)。实际上,这个字符串会先经由附近的 DNS 服务器进行解析,解析为 IP 地址,再访问这个 IP 地址。事实上,域名后面通常还会跟着 `/AA/BB`,构成一整个URL,例如我们的课程通知网页形如 `pku-software.github.io/25spring/notices.html`;这时 `/AA/BB` 则由服务器端进行解析,来确定客户端在请求什么服务。
208
+
不过,可以注意到我们在访问网站时通常不会输入 IP 地址,而是输入一个形如 `baidu.com` 的形式(即域名)。实际上,这个字符串会先经由附近的 DNS 服务器进行解析,解析为 IP 地址,再访问这个 IP 地址。事实上,域名后面通常还会跟着 `/AA/BB`,构成一整个URL,例如我们的课程通知网页形如 `pku-software.github.io/26spring/notices.html`;这时 `/AA/BB` 则由服务器端进行解析,来确定客户端在请求什么服务。
209
209
210
210
然而,到此为止事实上只是各个机器可以互相发送接收数据;为了让机器互相知道发送的数据如何解读,就需要各方共同遵守一个规定,这个规定就称为“协议”(Protocol)。HTTP(HyperText Transfer Protocol,超文本传输协议)就是这样一种协议。不过,我们不需要你去手写如何将你的数据组装为 HTTP 数据或者反之,而是可以直接使用 C++ 的一个[HTTP 库](https://github.com/yhirose/cpp-httplib)来进行:
Copy file name to clipboardExpand all lines: 25spring/middle_homework/faq.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ cmake -B build
10
10
cmake --build build
11
11
```
12
12
13
-
**Q2**: Windows 下编译不过,报错中有 “找不到 read 符号”等相似字眼
13
+
**Q2**: Windows 下编译不过,报错中有 “找不到 read 符号”等相似字眼
14
14
15
15
**A2**: `CMakeLists.txt` 中需要有如下的语句,在 Windows 下链接到系统网络库 `ws2_32`
16
16
```cmake
@@ -124,4 +124,4 @@ if (!file.is_open()) {
124
124
**A1**:
125
125
126
126
- 确保能看到文件后缀名:如果你使用 Windows 系统,你需要确保文件资源管理器设置为显示文件扩展名。打开文件资源管理器,选择“查看”标签页,然后勾选“文件扩展名”选项。如果你使用 Mac,你可以在 Finder 中选择“Finder”菜单,点击“偏好设置”,然后在“高级”标签中勾选“显示所有文件扩展名”。
0 commit comments