C 语言sscanf

C语言以sscanf逗号作为分割符

    char buf_a[10]={0};
    char buf_c[10]={0};
    char buf_b[5]={0};

   sscanf("/dev/ttyS0,115200,8,1,n","%[^,],%[^,],%[^,],%[^,],%s",buf_a,buf_c,&buf_b[1],&buf_b[2],&buf_b[3]);
   printf("*****************\n");
    printf("%s\n", buf_a);
    printf("%s\n", buf_c);
    printf("%c\n", buf_b[1]);
    printf("%c\n", buf_b[2]);
    printf("%c\n", buf_b[3]);

以strtok作为分割符

   char str[]="/dev/ttyS0,115200,8,1,n";
  char *result=NULL;
  result=strtok(str,",");
  while(result!=NULL){
    printf("result is \"%s\"\n",result);
    result = strtok(NULL,",");
  }

C++ 逗号分割符

  
  

vector<string> split(string str, string pattern){

string::size_type pos;
vector<string> result;
str+=pattern;
int size = str.size();
for(int i=0; i<size; i++){
pos = str.find(pattern,i);
if(pos<size){
string s = str.substr(i,pos-i);
result.push_back(s);
i=pos+pattern.size()-1;
}
}

return result;
}


std::string pattern=",";
std::string str="/dev/ttyS0,115200,8,1,n";
std::vector<std::string>result = split(str,pattern);


for(int i=0;i<result.size();i++){
cout<<"aaa:"<<result[i]<<endl;
}

 
时间: 2024-08-28 13:55:09

C 语言sscanf的相关文章

C语言sscanf()函数详解的代码

下面资料是关于C语言sscanf()函数详解的内容,希望能对各位朋友有好处. 说明:sscanf()会将参数str的字符串根据参数format来转换并格式化数据. format格式 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int result; char str[100]; char buf1[255], buf2[255], buf3[255], buf4[255]

C语言sscanf和sprintf输入输出使用及Strlen、Memset解释

sscanf() - 从一个字符串中读进与指定格式相符的数据. swscanf()- 用于处理宽字符字符串,和sscanf功能相同 通过学习和使用个人认为,在字符串格式不是很复杂,但是也并不简单的时候用这个函数比较合适,这个尺度就要靠自己把握了,字符串不是很复杂,但自己写个处理的函数比较麻烦,效率也不高,就用这个函数,如果字符串很复杂,那就用正则表达式吧. 不多说了,看看下面这些介绍和列子吧! 名称:sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf

c语言 sscanf()函数

sscanf()函数用于从字符串中读取指定格式的数据,其原型如下:    int sscanf (char *str, char * format [, argument, ...]); [参数]参数str为要读取数据的字符串:format为用户指定的格式:argument为变量,用来保存读取到的数据. [返回值]成功则返回参数数目,失败则返回-1,错误原因存于errno 中. sscanf()会将参数str 的字符串根据参数format(格式化字符串)来转换并格式化数据(格式化字符串请参考sc

C语言sscanf用法解析与正则表达式支持

最近学习算法和输入输出用到的基本知识,首先是我自己写的一份代码参考和学习了很多资源 后面会给出参考资料,他们写得更加详细,正则表达式的支持确实是一大亮点所在 #include<iostream> #include<string> #include<cstdio> using namespace std; //字符与其他类型转换函数学习 int main() { //打印到字符串中 cout << "打印到字符串中的技巧\n"; char

C语言 sscanf用法详解

/* sscanf用法详解 */ #include <stdio.h> /* sscanf头文件 */ #include <stdlib.h> #include <string.h> /* sscanf 读取格式化的字符串中的数据. swscanf 是 sscanf 的宽字符版本:swscanf 的参数是宽字符串. swscanf不处理 Unicode 全角十六进制或"兼容性区"字符. 除此以外,swscanf 和 sscanf 的行为完全相同. 函

C语言 运维之路

C语言 运维之路 1.C语言 介绍 2.C语言 HelloWorld 模板 3.C语言 gcc 编译程序 4.C语言 多文件编程 5.C语言 进制 6.C语言 数据存储方式 7.C语言 数据类型 8.C语言 有符号.无符号 9.C语言 汇编了解 10.C语言 字符串  11.C语言 strcpy  功能:把src所指向的字符串复制到dest所指向的空间中 12.C语言 strncpy   功能:把src指向字符串的前n个字符复制到dest所指向的空间中 13.C语言 strcat   功能:将s

C语言函数sscanf()的用法 (转载

在我的学习过程中,从文件读取数据是一件很麻烦的事,所幸有sscanf()函数. C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)

C语言函数sscanf()的用法(转)

转自:http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf

C语言sprintf和sscanf函数用法

以前刚用C语言的时候,觉得字符串很难处理,后来用多了,发现其实并非如此,C语言也提供了许多函数给程序员使用.今天记录一下两个常用的两个字符串处理函数:sprintf和sscanf 1. sprintf 从名称上来看,这个函数名称由三部分组成: s 代表字符串(string) print 代表打印 f 代表格式化(format) 这样拆分,可以大概知道它是干嘛用的了,相对于我们常用的用来处理输出流的printf,sprintf是用来处理字符串的.实际上这个函数,是把数据按格式打印到字符串中,常用于