C++学习查缺补漏(三)

1.进行文件相关的操作时:要注意引入头文件 #include <fstream>

2.getline()函数从外部读取一行,ignore() 函数会忽略掉之前读语句留下的多余字符

3.文件位置指针 
		1.istream :seekg("seek get")
		  ostream :seekp("seek put"2.seekg 和 seekp 的第一个参数通常是一个长整型,第二个参数可以用于指定查找方向
		3.查找方向可以是 ios::beg(默认的,从流的开头开始定位)
			  也可以是 ios::cur(从流的当前位置开始定位)
			  也可以是 ios::end(从流的末尾开始定位)
		4.// 定位到 fileObject 的第 n 个字节(假设是 ios::beg)
		 fileObject.seekg( n );
		  // 把文件的读指针从 fileObject 当前位置向后移 n 个字节
		 fileObject.seekg( n, ios::cur );
		  // 把文件的读指针从 fileObject 末尾往回移 n 个字节
			 fileObject.seekg( n, ios::end );
	 	 // 定位到 fileObject 的末尾
		 fileObject.seekg( 0, ios::end );

4.内存分配
	栈:在函数内部声明的所有变量都将占用栈内存。
	堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存。

5.如果自由存储区已被用完,可能无法正常分配内存,所以在使用new分配内存时,要注意检查new返回值是否是NULL

6.命名空间可以嵌套

7.C++模板(这个可以仔细学一下)

8.C++中的预定义宏
__FILE__	这会在程序编译时包含当前行号。
__FILE__	这会在程序编译时包含当前文件名。
__DATE__	这会包含一个形式为 month/day/year 的字符串,它表示把源文件转换为目标代码的日期。
__TIME__	这会包含一个形式为 hour:minute:second 的字符串,它表示程序被编译的时间。

9.C++信号处理
	1.// 注册信号 SIGINT 和信号处理程序
		signal(SIGINT, signalHandler);  
	2.raise()生成信号,该函数带有一个整数信号编号作为参数,语法如下:
		int raise (signal sig);
		sig 是要发送的信号的编号,这些信号包括:SIGINT、SIGABRT、SIGFPE、SIGILL、SIGSEGV、SIGTERM、SIGHUP。
	
10.注意在运行线程的时候,需要使用 -lpthread  库编译下面的程序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值