User Tools

Site Tools


c:index

C/C++ code snippets

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
 
#ifdef DEBUGMSG
	#define DEBUG printf
#else
	#define DEBUG(...) 
#endif
 
#define die(...) { fprintf(stderr, __VA_ARGS__); exit(1); }
#define pdie(s) { perror(s); exit(1); }
 
char parse_size(int64_t* v, char* s) {
	char suffix;
	if (sscanf(s,"%lld%c",v,&suffix)==2) {
		if      (suffix=='k' || suffix=='K') (*v)*=1024;
		else if (suffix=='m' || suffix=='M') (*v)*=1024*1024;
		else if (suffix=='g' || suffix=='G') (*v)*=1024*1024*1024;
		else if (suffix=='t' || suffix=='T') (*v)*=(int64_t)(1024*1024)*(int64_t)(1024*1024);
		else return 0;
		return 1;
	} else if (sscanf(s,"%lld",v)==1) {
		return 1;
	}
	return 0;
}
 
char* tok;
for (tok = strtok(value,","); tok ; tok = strtok(NULL,",")) {
    ...
}
c/index.txt · Last modified: 2011/03/03 11:28 by tkbletsc