История изменений
Исправление
dikiy,
(текущая версия)
:
#include <stdio.h>
void main () {
char *s="0.000315625,1,DATA,0x10210046,0x8,0x01 0x4A 0x00 0x79 0x0A 0xB3 0x00 0x01,0x6208,ACK";
char *s2[255];
float f; int i,j,k;
unsigned char hexes[8];
sscanf(s, "%f,%d,DATA,%x,%x,%i%i%i%i%i%i%i%i,%s", &f,&i,&j,&k,&hexes[0],&hexes[1],&hexes[2],&hexes[3],&hexes[4],&hexes[5],&hexes[6],&hexes[7],s2);
printf("%x\n", hexes[7]);
}
все можно с scanf, хоть и не так красиво. Но может знатоки поправят. можно еще красивее, если в цикле делать. но если строки остаются именно такими, как ты описал, то смысла городить циклы нет, ибо и так работать будет.
Исправление
dikiy,
:
#include <stdio.h>
void main () {
char *s="0.000315625,1,DATA,0x10210046,0x8,0x01 0x4A 0x00 0x79 0x0A 0xB3 0x00 0x01,0x6208,ACK";
char *s2[255];
float f; int i,j,k;
unsigned char hexes[8];
sscanf(s, "%f,%d,DATA,%x,%x,%i%i%i%i%i%i%i%i,%s", &f,&i,&j,&k,&hexes[0],&hexes[1],&hexes[2],&hexes[3],&hexes[4],&hexes[5],&hexes[6],&hexes[7],s2);
printf("%x\n", hexes[7]);
}
все можно с scanf, хоть и не так красиво. Но может знатоки поправят.
Исправление
dikiy,
:
#include <stdio.h>
void main () {
char *s="0.000315625,1,DATA,0x10210046,0x8,0x01 0x4A 0x00 0x79 0x0A 0xB3 0x00 0x01,0x6208,ACK";
char *s2[255];
float f; int i,j,k;
unsigned char hexes[8];
sscanf(s, "%f,%d,DATA,%x,%x,%i%i%i%i%i%i%i%i,%s", &f,&i,&j,&k,&hexes[0],&hexes[1],&hexes[2],&hexes[3],&hexes[4],&hexes[5],&hexes[6],&hexes[7],s2);
printf("%x\n", hexes[7]);
}
все можно с sscanf, хоть и не так красиво. Но может знатоки поправят.
Исходная версия
dikiy,
:
#include <stdio.h>
void main () {
char *s="0.000315625,1,DATA,0x10210046,0x8,0x01 0x4A 0x00 0x79 0x0A 0xB3 0x00 0x01,0x6208,ACK";
char *s2[255];
float f; int i,j,k;
unsigned char hexes[8];
sscanf(s, "%f,%d,DATA,%x,%x,%i%i%i%i%i%i%i%i,%s", &f,&i,&j,&k,&hexes[0],&hexes[1],&hexes[2],&hexes[3],&hexes[4],&hexes[5],&hexes[6],&hexes[7],s2);
printf("%x\n", hexes[7]);
}
все можно с sscanf, хоть и не так красиво. Но может знатоки поправят.