get函数常见的有三种重载:
int get();
istream &get(char &p);
istream &get(char &p,int n,char delim='\n');
cinget(name 16); 和cinget();两行代码是第三种和第一种。第一行(第三种)是以打入回车为生效命令,但不接收这个命令符'\n',把它留在缓冲区里;第二行(第一种)是只要缓冲区不空就接收其中的字符,无论是空格还是回车'\n',但只接收一个字符并转换成整型值,把其余的都留在缓冲区里。你这里,被cinget(name 16)接收并存入name字符串中,cinget()把被cinget(name 16)遗留在缓冲区里的回车符'\n'接收掉,因为cinget()不需要用'\n'作生效命令,从而清空了缓冲区,为下一步输入数据作好了准备……如果不要cinget()这一行,那么遗留在缓冲区里的'\n'会严重影响下一步的正常输入。 Matlab中,所有对象都有属性来定义它们的特征,正是通过设定这些属性来修正图形显示的方式。尽管许多属性所有的对象都有,但与每一种对象类型(比如坐标轴,线,曲面)相关的属性列表都是独一无二的。对象属性可包括诸如对象的位置、颜色、类型、父
1对象属性包括属性名和与它们相联关的值。属性名是字符串,它们通常按混合格式显示,每个词的开头字母大写,比如:’ LineStyle ‘ 。但是,MATLAB识别一个属性时是不分大小写的。另外,只要用足够多的字符来唯一地辨识一个属性名即可。例如,坐标轴对象中的位置属性可以用 ‘ Position ‘, ‘ position ‘ ,甚至是 ‘ pos ‘来调用。
2,当建立一个对象时,对象、子对象及其它内容。每一个不同对象都有和它相关的属性,可以改变这些属性而不影响同类型的其他对象。它用一组缺省属性值,该值可以用两种方法来改变。可以用{属性名,属性值}对来建立对象生成函数;或者在对象建立后改变属性。前一种方法的例子是:
» Hf_1=figure( ‘color’, ‘white’ )
它用缺省的属性值建立一个新的图形窗口,只是背景颜色被设为白色而不是缺省的黑色。
为了获得和改变句柄图形对象的属性只需要两个函数。函数get返回某些对象属性的当前值。使用函数get的最简单语法是get(handle, ‘ PropertyName’ )。例如:
» p=get(Hf_1, ‘position’ )
返回具有句柄Hf_1图形窗口的位置向量。 » c=get(Hl_a, ‘color’ )
返回具有句柄Hl_a对象的颜色
getchar()的功能如下:
读取字符,getchar()的功能最主要是c语言中读取字符的一个函数,能够提取单个字符;输入单个字符,getchar()的功能还可以从键盘中输入一个单个的字符,并且把单个的字符输入到计算机中;返回值是char类型,可以返回int类型的值。
在计算机中,经常用到的一些函数是scanf函数,这是c语言中经常用到的一些输入函数,可是遇到一些想要输出单个字符的情况的时候就有点不行了,因此getchar()的功能就在于可以输入单个的字符用来输出单个的字符。
getchar()介绍:
getchar()的作用是从输入设备接收一个字符。getchar()函数等待输入直到按回车才结束,回车前的所有输入字符都会逐个显示在屏幕上,但只有第一个字符作为函数的返回值。
getchar函数原型如下:函数格式:intgetchar(void);功能:从标准输入设备读取下一个字符返回值:返回所读字符,否则返回-1。
ifstream的get()用法
get()函数比较灵活,有3种常用的重载形式,实际有6种重载:
int get();
istream& get ( char& c );
istream& get ( char s, streamsize n );
istream& get ( char s, streamsize n, char delim );
istream& get ( streambuf& sb);
istream& get ( streambuf& sb, char delim );
针对常用的三种形式讲下
一种就是和put()对应的形式:ifstream &get(char &ch);功能是从流中读取一个字符,结果保存在引用ch中,如果到文件尾,返回空字符。如file2get(x);表示从文件中读取一个字符,并把读取的字符保存在x中。
另一种重载形式的原型是: int get();这种形式是从流中返回一个字符,如果到达文件尾,返回EOF,如x=file2get();和上例功能是一样的。
还有一种形式的原型是:ifstream &get(char buf,int num,char delim='\n');这种形式把字符读入由 buf 指向的数组,直到读入了 num 个字符或遇到了由 delim 指定的字符,如果没使用 delim 这个参数,将使用缺省值换行符'\n'。例如:
file2get(str1,127,'A'); //从文件中读取字符到字符串str1,当遇到字符'A'或读取了127个字符时终止。
可以通过编程实现,源代码如下:
// Sample output:
// There is 51 percent of memory in use
// There are 2029968 total KB of physical memory
// There are 987388 free KB of physical memory
// There are 3884620 total KB of paging file
// There are 2799776 free KB of paging file
// There are 2097024 total KB of virtual memory
// There are 2084876 free KB of virtual memory
// There are 0 free KB of extended memory
#include <windowsh>
#include <stdioh>
#include <tcharh>
// Use to convert bytes to KB
#define DIV 1024
// Specify the width of the field in which to print the numbers
// The asterisk in the format specifier "%I64d" takes an integer
// argument and uses it to pad and right justify the number
#define WIDTH 7
void _tmain()
{
MEMORYSTATUSEX statex;
statexdwLength = sizeof (statex);
GlobalMemoryStatusEx (&statex);
_tprintf (TEXT("There is %ld percent of memory in use\n"),
WIDTH, statexdwMemoryLoad);
_tprintf (TEXT("There are %I64d total KB of physical memory\n"),
WIDTH, statexullTotalPhys/DIV);
_tprintf (TEXT("There are %I64d free KB of physical memory\n"),
WIDTH, statexullAvailPhys/DIV);
_tprintf (TEXT("There are %I64d total KB of paging file\n"),
WIDTH, statexullTotalPageFile/DIV);
_tprintf (TEXT("There are %I64d free KB of paging file\n"),
WIDTH, statexullAvailPageFile/DIV);
_tprintf (TEXT("There are %I64d total KB of virtual memory\n"),
WIDTH, statexullTotalVirtual/DIV);
_tprintf (TEXT("There are %I64d free KB of virtual memory\n"),
WIDTH, statexullAvailVirtual/DIV);
// Show the amount of extended memory available
_tprintf (TEXT("There are %I64d free KB of extended memory\n"),
WIDTH, statexullAvailExtendedVirtual/DIV);
}
运行后结果就能获取当前PC的硬盘大小、已使用大小和CPU的使用率。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)