1.char *fgets(char *buf, int n, FILE *fp)
FILE * fp = fopen(argv[1],"r");
char buf[200];
while (fgets(buf,200,fp) != NULL) { /* 每行的字符不能超过199才能正常工作 */
printf("%s",buf);
}
fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符
2.'\n' 换行符
3.char* strtok (char* str,constchar* delimiters );
函数功能: 切割字符串,将str切分成一个个子串
函数参数:
str:在第一次被调用的时间str是传入需要被切割字符串的首地址;在后面调用的时间传入NULL。
delimiters:表示切割字符串(字符串中每个字符都会 当作分割符)。
函数返回值:
当s中的字符查找到末尾时,返回NULL;
如果查不到delimiter所标示的字符,则返回当前strtok的字符串的指针。
char buf[]="hello@boy@this@is@heima";
char*temp = strtok(buf,"@");
while(temp)
{
printf("%s ",temp);
temp = strtok(NULL,"@");
}
"hello boy this is heima "
4.vector():创建一个空的vector。
vector(itn nSize):创建一个vector,元素个数为nSize。
vector(int nSize, const T& t):创建一个vector,元素个数为nSize,且值均为t。
vector(const vector&):拷贝构造函数。
vector<int>a,b(n,0)的意思就是 创建了一个 int 类型的空的vector容器a,和一个 int 类型n个元素,且值均为0的vecotr容器b。
5.int sscanf (const char *str,const char * format,........); 将参数str的字符串根据参数format字符串来转换并格式化数据。
scanf("zhoue3456 ", "%4s", str); //取指定长度的字符串
printf("str=%s\n", str); //str="zhou";
(2)sscanf("zhou456 hedf", "%[^ ]", str); //取到指定字符为止的字符串,取遇到空格为止字符串
printf("str=%s\n", str); //str=zhou456;
(3)sscanf("654321abcdedfABCDEF", "%[1-9a-z]", str); //取仅包含指定字符集的字符串
printf("str=%s\n", str); //str=654321abcded,只取数字和小写字符
(4)sscanf("BCDEF123456abcdedf", "%[^a-z]", str); //取到指定字符集为止的字符串
printf("str=%s\n", str); // str=BCDEF123456, 取遇到大写字母为止的字符串
(5)int a,b,c;
sscanf("2015.04.05", "%d.%d.%d", &a,&b,&c); //取需要的字符串
printf("a=%d,b=%d,c=%d",a,b,c); // a=2015,b=4,c=5
6.
const char *c_str();
c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同。
7. while(getline(file,line))
逐行读取文件