首页 > 编程语言 >C++中cout打印内容丢失

C++中cout打印内容丢失

时间:2023-06-28 09:11:26浏览次数:42  
标签:func 打印 C++ 丢失 file input output cout

原文地址:https://www.cnblogs.com/liqinglucky/p/cout.html

写代码时遇到C++中cout打印不全的问题。

现象

代码调整前:

我有个函数c_func (output, input, inlen)定义在原来的文件file.c里,然后在c++中调用了这个函数。

file.cpp文件里的调用格式如下:

cpp_func()
{
	c_func (output, input, inlen);

	cout<<__FUNCTION__<<" input str:"<<input<<" output md5 str: "<<output<<" md5 len: "<<output.length()<<endl;
}

count的打印应该为:

cpp_func input str: EB7432B9131D60BBEBD output md5 str: ▒Bj]▒▒?ZҬ▒ԭ▒▒ len: 34

代码调整后:把file.c重命名为file1.c并把函数c_func (output, input, inlen)定义移动到文件最后。这个时候我重新编译运行就发现cout打印有缺失,现象如下:

▒▒>&▒3▒w md5 len: 34 output md5 str: ▒▒▒▒
[缺失了函数名和input部分打印]  [output md5 str的打印放到了首尾]

原因

背景知识:程序编译过程与运行时内存 - liqinglucky - 博客园 (cnblogs.com)

我看了makefile才发现,makefile中使用的还是用的旧文件的file.o文件导致file1.o是没用上的。因为file1.o跟file.o的代码段是很相近的,所以出现了c_func执行后导致函数内存地址出现了偏移导致的。

解决

makefile中将file.o文件名替换为file1.o后重新编译。

标签:func,打印,C++,丢失,file,input,output,cout
From: https://www.cnblogs.com/liqinglucky/p/cout.html

相关文章

  • C++面试八股文:static_cast了解一下?
    C++面试八股文:static_cast了解一下?某日二师兄参加XXX科技公司的C++工程师开发岗位第20面:面试官:C++中支持哪些类型转换?二师兄:C++支持C风格的类型转换,并在C++11引入新的关键字规范了类型转换。二师兄:C++11引入四种新的类型转换,分别是static_cast、dynamic_cast、const_cast......
  • C++面试八股文:用过std::set/std::map吗?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第27面:面试官:用过std::set/std::map吗?二师兄:用过。面试官:能介绍一下二者吗?二师兄:std::set是一个有序的集合,其中的元素是唯一的,即每个元素只能出现一次。一般用于去重和自动排序。二师兄:std::map同样是有序组合,只不过它不止有ke......
  • C++面试八股文:用过std::set/std::map吗?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第27面:面试官:用过std::set/std::map吗?二师兄:用过。面试官:能介绍一下二者吗?二师兄:std::set是一个有序的集合,其中的元素是唯一的,即每个元素只能出现一次。一般用于去重和自动排序。二师兄:std::map同样是有序组合,只不过它不止有key......
  • C++输入输出,设置精度setprecision、域宽setw、填充setfill
    本文的三个函数均需要引入头文件:#include<iomanip>设置输出精度setprecision(intn)参考:C语言中文网:c++setprecision用法详解//写法1cout<<setprecision(10)<<a<<endl;//写法2:a、b、c都将以10位有效位输出cout<<setprecision(10);cout<<a<<endl;cout......
  • C/C++烧烤节管理系统[2023-06-27]
    C/C++烧烤节管理系统[2023-06-27]烧烤节管理系统1、问题描述淄博烧烤今年大火,“进淄赶烤”是大家最想干的事情,淄博烧烤大火特火的原因,火的不是烧烤,火的是人间烟火,火的是政通人和,火的是好客山东!火热的烧烤带动了淄博的旅游和经济,使一个三四线城市火出了圈,全部各地的城市都争相......
  • C/C++全国交通咨询模拟系统[2023-06-27]
    C/C++全国交通咨询模拟系统[2023-06-27](1)提供对城市信息进行编辑(如:添加或删除)的功能。(2)城市之间有三种交通工具:汽车、火车或飞机,提供对全国城市交通图和汽车时刻表、列车时刻表及飞机航班表进行编辑的功能。(信息的输入方式可以是文件输入和键盘输入两种方式)。(3)提供两种最优决策......
  • C++基本数据类型的大小和取值范围
    bit,byte,wordbit比特,位Computersstoredataasasequenceofbits,eachholdinga0or1,suchas00011011011...byte字节Mostcomputersdealwithmemoryaschunksofbitsofsizesthatarepowersof2.Thesmallestchunkofaddressablememoryis......
  • LeetCode C++:HashTable篇
    1、TwoSumGivenanarrayofintegersnums andanintegertarget,returnindicesofthetwonumberssuchthattheyadduptotarget.Youmayassumethateachinputwouldhaveexactlyonesolution,andyoumaynotusethesameelementtwice.Youcanreturn......
  • vscode--C++配置问题
    1、#include<iostream>报红但是能正常运行解决方案:win+Rcmd进入输入gcc-v-E-xc++-将红框中数据复制进随后保存即可......
  • 在Androidstudio 中 通过jni java 和c++相互调用实现方法
    在Androidstudio中通过jnijava和c++相互调用实现方法1.创建javanative方法类publicclassNativeAPI{privatestaticfinalStringTAG=APP_TAG+"TestJni";static{System.loadLibrary("testnative");}//从c++so中获取字符串publicna......