C语言处理特定字符串
C语言处理特定字符串
在使用Nios IDE实现串口助手向Nios II系统发送数据时,再将数据发送至FPGA逻辑模块,以此控制LED灯。
在串口助手中发送 14 56 89 36 的数据,Nios接收到的数据是形如"14 56 89 36\r\n"的字符串,默认以\r\n结尾,要将此字符串转化为四个整型数据。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int i=0;
int cnt=0;
char test1[5]="";
char test2[5]="";
char test3[5]="";
char test4[5]="";
int j=-1; //记录空格索引
int k=0;
char s[128]="14 56 89 36\r\n";
for(i=0;i<strlen(s);i++)
{
if(s[i]==' ' || s[i] == '\r')
{
k = j+1;
j = i;
cnt++;
switch(cnt)
{
case 1:
strncpy(test1,s+k,j-k);break;
case 2:
strncpy(test2,s+k,j-k);break;
case 3:
strncpy(test3,s+k,j-k);break;
case 4:
strncpy(test4,s+k,j-k);break;
}
}
}
int d1 = atoi(test1);
int d2 = atoi(test2);
int d3 = atoi(test3);
int d4 = atoi(test4);
printf("%d\n",d1);
printf("%d\n",d2);
printf("%d\n",d3);
printf("%d\n",d4);
return 0;
}
处理结果: