getline(),sscanf(),strtok(),atof()
2013-12-11 19:43
387 查看
istream& getline ( istream &is , string &str , char delim );
istream& getline ( istream& , string& );
is 进行读入操作的输入流
str 存储读入的内容
delim 终结符
cin.getline()
此函数是按行读取,其语法为:cin.getline(字符指针,字符个数N,结束符);
功能是:一次读取多个字符(包括空白字符),直到读满N-1个,或者遇到指定的结束符为止(默认的是以'\n'结束)。
定义函数 int sscanf (const char *str,const char * format,........);
功能:从一个字符串中读进与指定格式相符的数据。
百度百科里的内容很全面:百度百科sscanf
char *strtok(char s[], const char *delim);
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
例如:strtok("abc,def,ghi",","),最后可以分割成为abc def ghi.尤其在点分十进制的IP中提取应用较多。
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。
返回值:
从s开头开始的一个个被分割的串。当没有被分割的串时则返回字符串首地址。
所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
示例代码:
double atof(const char *nptr);
功 能: 把字符串转换成浮点数
istream& getline ( istream& , string& );
is 进行读入操作的输入流
str 存储读入的内容
delim 终结符
cin.getline()
此函数是按行读取,其语法为:cin.getline(字符指针,字符个数N,结束符);
功能是:一次读取多个字符(包括空白字符),直到读满N-1个,或者遇到指定的结束符为止(默认的是以'\n'结束)。
定义函数 int sscanf (const char *str,const char * format,........);
功能:从一个字符串中读进与指定格式相符的数据。
百度百科里的内容很全面:百度百科sscanf
#include <iostream> #include <stdlib.h> using namespace std; int main() { int i; unsigned int j; char input[] = "aaaaaaaa bbbbbbbb"; char s[25]; sscanf(input, "%s", s); printf("%s",s); system("PAUSE"); return 0; }
char *strtok(char s[], const char *delim);
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
例如:strtok("abc,def,ghi",","),最后可以分割成为abc def ghi.尤其在点分十进制的IP中提取应用较多。
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。
返回值:
从s开头开始的一个个被分割的串。当没有被分割的串时则返回字符串首地址。
所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
示例代码:
#include <iostream> #include <stdlib.h> using namespace std; int main() { char input[16] = "abc,d,efg"; char *p; p = strtok(input, ","); if (p) { printf("%s\n", p); } p = strtok(NULL, ","); if (p) { printf("%s\n",p); } p = strtok(NULL, ","); if (p) { printf("%s\n", p); } system("PAUSE"); return 0; }结果:
double atof(const char *nptr);
功 能: 把字符串转换成浮点数
#include <iostream> #include <stdlib.h> using namespace std; int main() { float f; char *str = "12345.67"; f = atof(str); printf("string = %s float = %f\n", str, f); system("PAUSE"); return 0; }结果:
相关文章推荐
- 梓益C语言学习笔记之常用字符串操作(sscanf & strtok)
- strtok 和 sscanf 结合输入
- C语言sscanf()函数:从字符串中读取指定格式的数据&&C语言strtok()函数:字符串分割
- strdup();strtok();sscanf(…
- PAT乙级 1054. 求平均值 (20) 字符串转换成浮点数相关sscanf、sprintf、atof
- strtok和sscanf
- 使用strtok、sscanf和strpbrk分别解析字符串的方法
- sscanf() 函数的应用 atoi() atof()
- hdu1106 字符串水题strtok()&&strchr()&&sscanf()+atoi()使用
- getline-strstr-strtok
- hdu1106 字符串水题strtok()&&strchr()&&sscanf()+atoi()使用
- sscanf() cin.getline(buf,size) getline(cin,str)
- HDOJ-1106 分解字符串、转化及排序问题总结[sscanf()函数+strtok()函数+atoi()函数]
- 字符串处理函数补充strtok,strspn,strcspn,strchr,以及atof、atoi
- 【C/C++】之 strtok,strstr,sscanf 解析字符串
- C语言atof,atoi ,strtok等函数用法
- scanf、gets、getchar、cin、cin.get、cin.getline、getline总结
- C++ 全局函数std::getline
- C++ getline()和get()
- 又是strtok导致的bug