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

组态王7.5和SQLsever数据库交互 摘要:本文详细介绍了组态王7.5与SQL Server 2016数据库交互的实现流程,包括建立连接、数据存储与查询操作。主要内容涵盖ODBC数据源配置、数据库表格创建、数据插入及查询功能实现(含日期控件查询) 阅读详情

谭浩强  《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[]所表示的字符串是可以修改的。

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

SAP CPI 之使用国密算法实现SM系列算法加解密 System.out.println("SM2-私钥:" + privateKey);System.out.println("SM2-公钥:" + publicKey);System.out.println("SM2-密文:" + encrypts);System.out.println("SM2-明文:" + data2);新建groovy,通过import之后,调用jar包中的方法。在CP中导入jar包,选择Upload,选中导入的jar包。的密钥和向量值,不安全!的公钥和私钥,不安全! 阅读详情

相关推荐

Unity 数字孪生笔记1 工具介绍

前言 工欲善其事必先利其器 流程思考 数字孪生本质上一种基于实际物理数据的可视化方案,通过对接实际数据,在三维界面中展示孪生结果。 那么这个流程就很简单了。 整个流程分为三块:数据来源-》数据分析-》数据展示 输入数据 首先我们需要考虑我们能拿到什么。第一,实际物体的三维数据从哪里来,第二,实际数据怎么获取到。 模型数据 工业上常常会用到CAD模型,CAD模型具有精确、统一的特点,但是CAD不是三角面片,我们不能直接导出到Unity中,而且导入之后有很多不合理的地方,例如面片杂乱、面数过高等问题。针对这个

Thissky的专栏 1万+

fstream的使用详解

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

shaderdx的专栏 7218

【STC32G12K128开发板】——从零到一:Keil C251开发环境全攻略

本文详细介绍了为STC32G12K128开发板搭建Keil C251开发环境的完整流程。从环境准备、软件安装、驱动配置到创建第一个工程并下载程序,提供了避坑指南和实用技巧,帮助开发者高效入门这款基于251内核的国产32位单片机开发。

weixin_29192141的博客 363

fstream用法总结

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

weixin_40332685的博客 9473

实战避坑:示波器测量非隔离开关电源的炸机风险与隔离方案

本文详细分析了使用示波器测量非隔离开关电源时的炸机风险,揭示了地线环路导致的短路问题,并对比了四种防炸机解决方案,包括示波器隔离供电、拔掉电源地线、使用差分探头和被测板隔离供电。重点推荐使用隔离变压器方案,确保测量安全与精度,同时提供了实操建议与经验分享,帮助工程师避免常见测量事故。

weixin_29224309的博客 559

利用CubeMX复现正点原子TFTLCD驱动例程

①准备delay.c、delay.h、sys.c和sys.h四个文件。FMC的工作原理暂时先欠着,先记录一下CRUD的过程。这里我们使用的是BANK1 的第一个分区。点击 Configuration->FMC。②把fmc自动生成的代码注释掉一部分。配置参数如下图 17.5.1。③这个printf语句要屏蔽掉。选项卡之下配置相关参数。④整体代码,按需裁剪。

qq_59757948的博客 1613

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

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

攻城狮的博客 1万+

【随机过程】 3 - 随机过程的频域分析1 - 功率谱

随机过程的频域分析 文章目录随机过程的频域分析1. 什么是谱2. 确定信号的频谱2.1 周期信号的频谱2.2 非周期信号的频谱3. 随机信号的谱3.1 随机信号做傅里叶分析的困难3.2 功率谱密度的物理和数学表示形式3.2.1 功率谱密度的物理表示3.2.2 功率谱密度的数学表示3.3 功率谱密度的解读3.3.1 量纲分析3.3.2 谱3.3.3 密度3.3.4 wiener和khinchin3.4 功率谱密度的性质3.4.1 非线性3.4.2 偶函数3.5 wiener-khinchin关系的应用3.6

qq_41741344的博客 3133

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

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

weixin_51947326的博客 1900

深度强化学习训练结果曲线绘制教程

使用python语言,只调用matplotlib库,绘制训练过程中保存的强化学习训练曲线。模仿经典论文中的训练曲线,多次训练取平均,并绘制出阴影区域。

加斯顿工程师的博客 911

使用 Simulink 和 Simscape Electrical 工具箱设计一个 Buck 转换器系统

Buck 转换器(降压转换器)是一种常用的 DC-DC 转换器,用于将较高的输入电压转换为较低的输出电压。为了评估其抗干扰能力,我们可以在模型中引入不同的干扰源,并观察系统的响应情况。电网电压波动:输入电压的变化。负载突变:负载电阻或电感的变化。电磁干扰:高频噪声或脉冲干扰。通过模拟这些干扰,我们可以分析系统的动态响应特性,并采取相应的措施来提高系统的抗干扰能力。

xiaoheshang_123的博客 378

【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万+

从0开始图形学(光栅化)

从0开始图形学

A112459的专栏 2395

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

fstream用法总结 C++

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

Jaster_wisdom的专栏 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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

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

weixin_62774747的博客 1302

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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、付费专栏及课程。

余额充值