2024-12-30 文件输出和Wireshark_Intro_v7.0

news/2025/1/4 4:06:49/文章来源:https://www.cnblogs.com/zlr585/p/18646065

fscanffprintf 的区别

函数 用途 示例
fscanf 从文件中读取格式化数据 fscanf(fp, "记录数: %d\n", &count);
fprintf 向文件中写入格式化数据 fprintf(fp, "记录数: %d\n", count);
在读取或写入文件时,fscanffprintf 的功能是通过指定格式化字符串来解析或生成数据。它们的行为完全取决于格式化字符串的定义。

如何跳过中文字符

中文字符在 fscanffprintf 中只被视为普通的文本。只要格式化字符串不尝试解析这些文本,它们就会被跳过或按字面意义写入文件。


fscanf 的行为

对于你提供的记录格式,可以使用以下格式化字符串来读取记录,同时跳过中文描述:

c

Copy code

FILE *fp = fopen("c:/zymdata1.txt", "r"); if (fp == NULL) { printf("文件打开失败!\n"); return -1; } // 读取记录数 int record_count; fscanf(fp, "记录数: %d\n", &record_count); rec_table.count = record_count; // 读取每条记录 for (int i = 0; i < record_count; i++) { Student *s = &rec_table.students[i]; fscanf(fp, "ID: %d, 班级: %d, 姓名: %[^,], 开始时间: %02d:%02d, 费用: %f\n", &s->id, &s->class, s->name, &s->start_time.hour, &s->start_time.minute, &s->cost); } fclose(fp);

解析关键点

  1. 跳过中文描述

    • fscanf(fp, "记录数: %d\n", &record_count); 会读取 记录数: 和后面的数字,中文部分被直接跳过,因为格式化字符串没有明确读取它。
  2. 读取每条记录

    • 使用 %d 读取 ID班级
    • 使用 %[^,] 读取到逗号前的所有字符作为 姓名
    • 使用 %02d:%02d 读取 开始时间 的小时和分钟。
    • 使用 %f 读取 费用

fprintf 的行为

将数据写入文件时,可以使用类似的格式化字符串:

c

Copy code

FILE *fp = fopen("c:/zymdata1.txt", "w"); if (fp == NULL) { printf("文件保存失败!\n"); return -1; } // 写入记录数 fprintf(fp, "记录数: %d\n", rec_table.count); // 写入每条记录 for (int i = 0; i < rec_table.count; i++) { Student *s = &rec_table.students[i]; fprintf(fp, "ID: %d, 班级: %d, 姓名: %s, 开始时间: %02d:%02d, 费用: %.2f\n", s->id, s->class, s->name, s->start_time.hour, s->start_time.minute, s->cost); } fclose(fp);


lab1 Wireshark_Intro_v7.0

While Wireshark is running, enter the URL:

http://gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html

and have that page displayed in your browser. In order to display this page, your

browser will contact the HTTP server at gaia.cs.umass.edu and exchange HTTP

messages with the server in order to download this page, as discussed in section

2.2 of the text. The Ethernet frames containing these HTTP messages (as well as

all other frames passing through your Ethernet adapter) will be captured by

Wireshark.

最开始搜不到http。发现是问题:
2. 使用了 HTTPS

  • 如果 URL 使用的是 HTTPS 协议,而不是 HTTP,数据被加密,Wireshark 无法直接查看 GET 请求。
  • 解决方法:
    • 确认访问的 URL 是 http://gaia.cs.umass.edu/...,而不是 https://...
    • 如果网站重定向到 HTTPS,请暂时关闭浏览器的“强制 HTTPS”选项,或使用支持 HTTP 的服务器地址。”

https和http区别
|特性|HTTP|HTTPS|

全称 Hypertext Transfer Protocol Hypertext Transfer Protocol Secure
数据加密 数据明文传输,容易被拦截和篡改 数据通过 SSL/TLS 加密,确保隐私和数据完整性
安全性 不安全,可能会泄露敏感信息 安全,数据被加密且身份认证防止中间人攻击
端口号 默认使用端口 80 默认使用端口 443
证书需求 不需要证书 需要服务器配置 SSL/TLS 证书
使用场景 适用于非敏感数据传输(如公开内容的网站) 适用于敏感数据传输(如银行、购物、登录页面)
解决方法
Google ChromeMicrosoft Edge 浏览器中,可以通过禁用强制 HTTPS 来访问 HTTP 网站(适用于测试或捕获网络流量)。以下是详细步骤:

Google Chrome 禁用强制 HTTPS

  1. 临时方法(针对单个网址):

    • 打开 Chrome。
    • 在地址栏中输入 chrome://net-internals/#hsts 并按回车。
    • "Delete domain security policies"(删除域名安全策略) 部分:
      • 在输入框中输入目标网站的域名(如 gaia.cs.umass.edu)。
      • 点击 "Delete"(删除)
    • 此操作会暂时移除该网站的 HTTPS 强制要求。
  2. 禁用所有 HTTPS 强制(实验性功能)

    • 在地址栏中输入 chrome://flags
    • 搜索 "HTTPS-First Mode"
    • 将其设置为 "Disabled"(禁用)。
    • 重启浏览器。

Microsoft Edge 禁用强制 HTTPS

  1. 临时方法(针对单个网址):

    • 打开 Edge。
    • 在地址栏中输入 edge://net-internals/#hsts 并按回车。
    • "Delete domain security policies"(删除域名安全策略) 部分:
      • 在输入框中输入目标网站的域名(如 gaia.cs.umass.edu)。
      • 点击 "Delete"(删除)
    • Edge 将不再强制该域名使用 HTTPS。
  2. 禁用所有 HTTPS 强制(实验性功能)

    • 在地址栏中输入 edge://flags
    • 搜索 "Automatic HTTPS"
    • 将其设置为 "Disabled"(禁用)。
    • 重启浏览器。

问题解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/862330.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sola的2024年度总结

前言 2024 这一年对我来说确实意义非凡,很想写点东西来记录一下这一年我的经历,算是第一次写年度总结了。 简短的记录一下我这一年。 现在?未来? 回忆起大一下最后一节体育课,体育老师让每个人想一个词来描述这个上半年,我给出的答案是 : 迷茫 。 现在来看,这个答案贯穿…

洛谷 P11487 「Cfz Round 5」Gnirts 10——题解

洛谷P11487「Cfz Round 5」Gnirts 10传送锚点摸鱼环节 「Cfz Round 5」Gnirts 10 题目背景 English statement. You must submit your code at the Chinese version of the statement.In Memory of \(\text{F}\rule{66.8px}{6.8px}\). 题目描述 题面还是简单一点好。给定 \(n, …

基于高德地图API在Python中实现地图功能的方法

本文介绍在高德开放平台中,申请、获取地图API的Key的方法;同时通过简单的Python代码,调取API信息,对所得Key的可用性加以验证~本文介绍在高德开放平台中,申请、获取地图API的Key的方法;同时通过简单的Python代码,调取API信息,对所得Key的可用性加以验证。首先,我们进入…

活动对象----active object

一.preface 近期学习QPC框架,其核心之一就是 actvie-object,活动对象的出现是为了解决并发(阻塞、数据竞争)问题。笔者这里做一篇笔记,方便日后回顾。 二.What is "active object"活动对象的组成框架代码如下点击查看代码 typedef struct Active Active; typedef …

新的一年,我决定拆解一个蓝牙接收器

哈哈,容我介绍一下,如果大家对电子感兴趣,可以看一下下面的图片,会经常更新优秀的原创文章。再次感谢每一个努力的电子爱好者。今天我们来拆解一个蓝牙接收器,首先我们需要有一个直观的印象。下图就是我们这次需要拆解的对象。我再想这么小的接收器,电路是怎么放进去得呢…

jfianl 如何定时某个时间点执行一个任务

如果我们需要在某个点执行一个任务,可以用使用以下方法,首先在操作之间先明白思路 参考技术来源:https://jfinal.com/doc/9-2 第一步,先安装包,因为 这是第三方包: <dependency> <groupId>it.sauronsoftware.cron4j</groupId> <artifactId>cr…

Window平台下Visual Studio版本和Qt构建kit 以及OpenCV的对应关系

1、VS版本、MSVC版本、工具集的对应关系 参考https://www.cnblogs.com/lidabo/p/183977552、Qt中的构建kit和MSVC的对应关系 qt中使用对应版本的kit必须安装对应版本的VS才能使用3、OpenCV的VC17文件夹和VS版本的对应关系 OpenCV中的VC17文件夹就是指用的VS2022编译的库,visua…

题解:AT_abc386_d [ABC386D] Diagonal Separation

分析题面,发现题目求的是是否存在一个白点被 \((1, 1)\) 和任意一个黑点围成的矩形内。 先将所有黑点按 \(x\) 坐标排序。 枚举所有的白点。 找到所有横坐标不比该白点横坐标小的所有黑点的纵坐标的最大值所属点。如果该点的纵坐标小于该白点的纵坐标:(蓝点代表题目中的白点…

【Miscellaneous】一道高质量的杂项题,涉及暴破、Cloakify-python2、零宽、emoji-AES等知识点

引言 下半年很忙,好久不做题,趁2025元旦放假整理一道高质量的题目,怀念一下繁忙的2024年。 题目 考虑到某公司的不分享精神或许会有版权之类的争端,文件链接以后就不放了。 名称:happymd5 提示:有好多奇奇怪怪的MD5值,这是用来干什么的呢。 Writeup(WP)题目附件cipher…

2025-01-01:优质数对的总数Ⅰ。用go语言,给定两个整数数组 nums1 和 nums2,分别长度为 n 和 m,以及一个正整数 k。 如果 nums1 数组中的元素 nums1[i] 能被

2025-01-01:优质数对的总数Ⅰ。用go语言,给定两个整数数组 nums1 和 nums2,分别长度为 n 和 m,以及一个正整数 k。 如果 nums1 数组中的元素 nums1[i] 能被 nums2 数组中的元素 nums2[j] 乘以 k 除尽,则称 (i, j) 为一个优质数对(其中 0 <= i <= n - 1,0 <= j …

高光谱图像选择波段的研究(转载)

高光谱图像选择波段的研究博文: 高光谱图像选择波段的研究 高光谱波段选择 LY-林雨    2016-08-25 12:08:45 发布免责声明:本文仅代表个人观点,如有错误,请读者自己鉴别;如果本文不小心含有别人的原创内容,请联系我删除;本人心血制作,若转载请注明出处 本文是根据 魏…

Webstorm 关闭 拼写错误

问题描述:cmd+,唤醒 设置把这个勾去掉就行