揭露谭浩强的错误-证实不能用字符指针变量做形参

「JS逆向三百例」JS逆向HIKVISION-视频监控的前端密码加密 本文详细分析了HIKVISION-海康威视监控前端登录过程中密码的加密机制,通过逆向工程解析了其 JavaScript 加密逻辑,重点研究了HIKVISION-海康威视监控的前端密码SHA256加密算法的实现。基于逆向分析结果,使用 Python 模拟了HIKVISION-海康威视监控的登录流程,最终实现了自动化登录功能。本文旨在为安全研究人员提供技术参考,帮助理解前端加密机制,并强调技术研究的合法性和合规性。 阅读详情

谭浩强  《C程序设计第三版》 第255页 例10.19 有如下程序:

功能是将a字符串复制到b,并输出两个字符串。

#include<stdlib.h>
#include<stdio.h>
void copy_string(char *from,char *to)
{
  for(;*from!='\0';)
      *to++=*from++;  
   *to='\0';  
}
int main()
{
char *a="I am teacher.";
char *b="you are a student.";
printf("string a=%s\nstring b=%s\n",a,b);
copy_string(a,b);
printf("\nstring a=%s\nstring b=%s\n",a,b);
system("pause");
}


老先生说得信誓旦旦,并在第257页作了总结,说 实参可以为字符指针变量。

奈何调试没成功。发现原因如下:

char *a = "I am a teacher.";   
char *b = "You are a student.";


a,b保存的是常量数据区地址,a,b指向的内容不能被修改
所以你函数里面的赋值是不起作用的.
改成这样

char a[] = "I am a teacher.";   
char b[] = "You are a student.";


字符串传给字符数组,a,b保存的是栈区地址,这样传进函数就可以修改其内容了.

简单地说,char * 和char[]都可以用来表示字符串,但两者有很大的不同。

其中最主要的不同就是char *所表示的字符串,是不能修改的,而char[]所表示的字符串是可以修改的。

所以,将实参改成数组型即可,至于形参,使用数组和字符指针都可以。

LinePhone3.2.7(android端最新版本) sip客户端 SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/ 立即下载

相关推荐

DeepSpeed Zero3 Offload实战:从GCC版本检查到环境配置的完整避坑指南

本文是一份针对DeepSpeed Zero3 Offload部署的完整避坑指南。针对训练中常见的`AttributeError: ‘DeepSpeedCPUAdam‘ object has no attribute ‘ds_opt_adam`报错,文章深入剖析了其根源在于GCC编译器版本过低。指南提供了从系统GCC版本深度探查、安全启用高版本GCC环境,到DeepSpeed一致性安装验证的全链路实战方案,旨在帮助用户构建稳定的大模型训练环境。

weixin_29070721的博客 474

fstream的使用详解

ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(<<)   向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"WriteStdout"<<’\n’;就表示把字符串"WriteStdout"和换行字符(’...

shaderdx的专栏 7218

如何在软件复位后保留指定RAM区域的数据

本文主要介绍S32K144的RAM retention功能

北极熊的脖子(16605192620@163.com) 1万+

fstream用法总结

在C++中输入输出到指定文件,或者从指定文件中读出数据使用fstream类较为方便。C++中处理文件类似于处理标准输入和标准输出。类ifstream、ofstream(向文件中写入)和fstream分别从类 istream、ostream和iostream派生而来。作为派生的类,它们继承了插入和提取运算符(以及其他成员函数),还有与文件一起使用的成员和构造函数。可将文件&lt;fstream&gt...

weixin_40332685的博客 9473

Arm Neoverse CMN-700 SLC内存系统与缓存分区技术解析

现代处理器架构中,缓存一致性协议与内存子系统设计直接影响系统性能。Arm Neoverse CMN-700采用的SLC(System Level Cache)通过16-way组相联设计实现高效数据缓存,其物理地址索引机制支持灵活的way分区配置。在软件可配置内存(OCM)模式下,SLC可作为独立内存空间使用,通过寄存器控制实现模式切换与区域锁定。缓存分区技术则通过请求源分类和way-based分配策略,满足实时性任务与吞吐量场景的不同需求。这些技术在5G基站、边缘计算等低延迟场景中具有重要应用价值,特别是C

weixin_30263073的博客 618

process插件_利用SPSS 插件MLmed检验多水平中介的调节模型

本文介绍一个SPSS插件,用于检验多水平中介的调节,及该方法与Mplus的比较。1 Mlmed 简介及安装Mlmed 简介: Mlmed 由Rockwood 2017年开发,基于SPSS插件计算Multilevel moderated mediation. 可以提供multilevel mediation Monte Carlo 置信区间比如(模拟20000次),以及多水平调节的...

weixin_39976081的博客 5773

C++中读写文件方法(fstream用法)

日常工作中肯定会用到文件读写操作,C++ STL中 fstream 是一种用于文件读写的流类,它可以方便地对文件进行输入输出操作。本文将详细介绍C++ fstream的使用方法,以及各种常用的函数方法和参数。

攻城狮的博客 1万+

百度文心大模型ERNIE全面解析

文章摘要:本文汇总了多个Python自然语言处理(NLP)工具库的应用实例,涵盖百度文心大模型ERNIE、Hugging Face Transformers、StanfordNLP、SymSpell等主流框架。内容涉及文本预处理、情感分析、命名实体识别、机器翻译、文本纠错等典型NLP任务,并包含ERNIE-Lite、BART、T5等模型的调用示例。各工具库的特色功能包括:ERNIE的知识增强技术、Transformers的多任务统一接口、SymSpell的高效拼写纠正等。文章还提供了知识图谱构建、Rasa对

keny-大成的博客 2526

C/C++中使用文件流fstream输入输出的方法

近期使用C/C++处理文件时,有时需要一行行的读写,有时需要以单词输入输出,又有时要一个字母一个字母处理,甚至以二进制格式从底层修改文件。查了资料后发现这些需求有不同的解决方法,怕之后忘了所以写个博客给自己几个笔记,顺便和大伙分享分享。本文只讨论C++中针对不同情况使用文件流输入输出的具体方法,不涵盖如何定义fstream对象,绑定文件,以及各种输入输出模式的区别等等基础知识(但读之前需要掌握)。

weixin_51947326的博客 1900

轴承寿命预测实战:手把手教你用IEEE PHM2012数据集训练模型(附Python代码)

本文详细介绍了如何利用IEEE PHM2012数据集构建轴承剩余寿命预测模型,从数据预处理、特征工程到LSTM模型训练与部署,提供了完整的Python代码实现。通过实战案例,帮助读者掌握预测性维护中的关键技术,提升工业设备的运行安全与效率。

weixin_29186249的博客 311

滚动时域优化方法

滚动时域优化(Receding Horizon Optimization, RHO),也被广泛称为模型预测控制(Model Predictive Control, MPC),是一种用于动态系统优化和控制的。其核心思想是“在每个当前时刻k,控制器只考虑未来一个(称为“预测时域”或“优化时域”,长度N)内的系统行为。(通过测量或估计得到)。(描述状态如何随输入和干扰变化)。(如果有,可能基于历史数据或假设)。在这个有限的未来时域[k, k+N-1]上,求解一个。这个优化问题的目标是找到一个。

m0_69522810的博客 2297

【C++入门】文件流(fstream)介绍和使用

(1)在C++11标准时,open函数的文件路径可以传char指针也可以传string指针,而在C++98标准,open函数的文件路径只能传char指针;(2)open函数的第二个参数是打开文件的模式,从函数定义可以看出,如果调用open函数时省略mode模式参数,则默认按照可读可写(ios_base:in | ios_base::out)的方式打开;(3)打开文件时的mode的模式是从内存的角度来定义的,比如:in表示可读,就是从文件读数据往内存读写;out表示可写,就是把内存数据写到文件中;

weixin_42031299的博客 1万+

lammps教程:实例讲解npt、nvt系综的选择

对于lammps新手来说,系综的选择令人困惑,到底是应该用nvt系综还是npt系综? 我在初学lammps时就被这个问题困扰了很久。如果去问别人,可能会告诉你一个答案:根据模拟需要确定。 其实和没说一样。 到底如何确定系综,确实不是一句两句能够说清楚的,不同的体系、不同的模拟目的要选择不同的系综。 前几天遇到的一个合金的模拟案例,比较有代表性,分享出来供大家参考。 建模方法和之前介绍过的高熵合金建模方法类似,先建立单晶模型,然后使用替换原子的命令获得合金结构。 建模完成后,按照常规,先上nvt系综进行驰豫

lammps_jiayou的博客 9767

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

fstream用法总结 C++

在C++中输入输出到指定文件,或者从指定文件中读出数据使用fstream类较为方便。 1.将数据写到磁盘的指定文件中 首先第一步是加头文件#include ,引入库函数 第二步,声明一个ofstream对象,调用ofstream的成员函数open函数,与指定的文件相关联 第三步,使用 最后一步,关闭输出流,调用close()函数 #include #include using na

Jaster_wisdom的专栏 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C++(20): 文件输入输出库 —— <fstream>

<fstream> 是 C++ 标准库中用于文件输入输出的核心组件,提供了文本和二进制文件的读写功能。其核心类包括 ofstream(写操作)、ifstream(读操作)和 fstream(读写操作)。通过示例展示了文本文件的写入、读取以及二进制文件的操作方法。文件打开模式支持多种组合,如读取、写入、追加和二进制模式。文件指针操作允许定位和获取当前读写位置。错误处理技巧包括检查文件状态和重置错误标志。实际应用场景包括配置文件读写、数据持久化、日志系统和大数据处理。掌握这些功能可有效处理文件操作需

weixin_62774747的博客 1302

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

fstream的基本用法

#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main(){ ifstream in; in.open("test.txt"); if(!in){ cout &lt;&lt; "open file failed" &lt;&lt; endl; ...

清风明月's blog 2万+

fstream的用法

C++ fstream详解_windistance的博客-优快云博客_fstream

a1444542375的博客 1053

谭浩强《C程序设计》(第四版)错误不完全汇集

前言 p12 ① 数据类型介绍中,增加了C99扩充的双长整型(long long int)、复数浮点型(float complex,double complex ,long long complex)、布尔型(bool)等,使读者有所了解。 ② C99要求,main函数的类型一律指定为int型,并在函数的末尾加一个返回语句“return 0;”。 评:long long complex,bool根本是子虚乌有的。数据类型都整不明白,还谈什么语言、算法呢? C99并没有要求main函数的类型一律指定为int型

qq_46699502的博客 2万+

C++文件读写详解(ofstream,ifstream,fstream)

在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结: 这里主要是讨论fstream的内容: #include ofstream //文件写操作 内存写入存储设备 ifstream //文件读操作,存储设备读区到内存中 fstrea

晨雪无痕 93万+

谭浩强《C++面向对象程序设计》中的一个小错误

谭浩强老师编辑的《C++面向对象程序设计》这本书写得非常好,令我可以在短时间内了解并熟悉C++的相关内容,在此感谢谭浩强老师与编辑社的辛勤努力!      在阅读《C++面向对象程序设计》 3.11类模板时,发现这个小节中有一个小错误。       3.11类的模板,在112页中,声明了这么一个类  1行       class Compare_int  2行      {

spencerzou的专栏 2607

fstream常用方法详解

<br /><fstream>库包含了三个基本的类:ifstream, ofstream和fstream。这三个类分别代表一个输入文件,一个输出文件,以及一个输入输出文件。Ifstream类支持>>操作 符,ofstream类支持<<操作符,fstream类同时支持>>和<<操作符。所 有<fstream>对象都能够把一个文件名当成构造函数的变量,并能够自动的打开文件,如: <br /><br /> std::ofstream dictionary("myfile.txt"); <br /><br

qiang60125的专栏 6万+

c语言中fstream用法,C++流操作之fstream用法介绍

在Windows平台对文件进行存取操作可选的方案有很多,如果采用纯C,则需要用到File*等,当然也可以直接调用WindowsAPI来做;如果采用C++,首先想到的就是文件流fstream。虽然在COM层面上,我们还可以使用IStream来实现文件的读写,其效率也非常高。不过本文仅对C++流操作做简单的探讨,相比于WindowsAPI或IStream,C++的流操作通用性更好一些,因为你能轻松将代...

weixin_39636898的博客 1485

C++中fstream 的使用一

stream(流) 对于头文件<fstream>是用来对文件的读取和操作的。

weixin_52190646的博客 3390

C++文件输入输出流fstream的用法

原文链接:https://www.dyxmq.cn/program/code/c-cpp/the-usage-of-fstream-in-cpp.html 一、文件流 C++的IO类中定义了三个文件读写流fstream、ifstream以及ofstream,它们都继承于相同的父类istream,通过不同的实现以实现不同的文件流操作。 三者的区别为: ifstream:从文件读取数据 ofstream:从文件写入数据 fstream:既可以读数据、又可以写数据 1.1 IO接口和读写模式 三个文件流实现了

HelloHello 7631
上一篇: malloc/free与new/delete的区别
下一篇: C++静态(static)成员 静态(static)成员函数总结
seadplus
博客等级 码龄15年 57粉丝 61原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值