vc中的字符串

原创 2006年05月17日 10:15:00
VC++中,如果定义一个字符串,假设为a[30];定义一个b[30]=“”;那么当我们给a赋值的时候, 比如说:“123456789”,输出a到文件,将a清空,strcpy(a,b),输出a为空再次给a赋值,比如: “abcdef”,再次输入到文件的时候,就会发现:两次的输出为:123456789(第一次)这个结果毫无 置疑,abcdef789(第二个),在这里我们明明将a字符串清空,而且也显示出来a是空的但是输出到文 件的时候却出了问题。 我觉得这是因为:当我们定义一个字符串的时候,在内存中给a分配了一个存储空间,在这个存储 空间中,当我们第一次赋值的时候存储的是:123456789,将a清空后显示的是一个系统缓存中的a, 为空字符串,当我们再次赋值给a的时候,我们再次访问到a的真实内存,比如说赋值abcdef给 a,则,a-f将内存中字符串a的1-6所占用的地址空间的内容改写,替换掉了,但是,后面的7 89却仍然在内存中,没有丢失。   其实磁盘的恢复也应该是如此,我们从磁盘上删除某个文件的时候,只不过是将它的一个指针,删 除,其文件内容还没有从磁盘删除,除非,在原来的文件所在的地址写入了新的信息,所以,我们完全 可以以此为理论依据,进行数据恢复(不慎删除的重要文件,数据),Bzdcopy,等一些文件恢复工 具。应改就是如此工作的。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

VC常用字符串函数

1. 字符串比较函数   //比较两个字符串是否相同    int StrCmp(LPCTSTR lpStr1,LPCTSTR lpStr2);   int StrCmpN(LPCTSTR...

VC字符串处理

  • 2014-03-25 00:02
  • 404KB
  • 下载

VC中字符串取子串总结

一。前言 程序中经常会遇到要处理用某些符号(如空格,或“, ; . | /t”等)分隔的字符串的问题,我在此做了一些总结和比较。   二。处理方法 1. 用MFC CString之Find处理...

VC++字符串截取总结

  • 2015-03-19 11:16
  • 28KB
  • 下载

VC++编程之字符串解惑--Unicode & MBCS

VC++中的字符串用起来着实让人难受,LPTSTR、LPCTSTR、LPCSTR、LPCWSTR、LPSTR、WCHAR、CString、_T()和L彼此之间的互相转换更是头痛。根据使用经验和MSDN...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)