Code:
#include <stdio.h>
#include <stdlib.h>

enum { S_None = 0, S_Barrel = 1, S_Top = 2, S_Under = 4, S_Grip = 8, S_Stock = 16 }; //Spaces
int enmSpaces;

int main(void)
{
	enmSpaces = S_Barrel | S_Grip | S_Top;
	char * acharTempChar;
	acharTempChar = (char*) malloc(256);
	if(acharTempChar!=NULL)
	{
		sprintf(acharTempChar, "%i", enmSpaces);
		for(int i = 0; i < sizeof(acharTempChar); i++)
		{
			printf("%c",acharTempChar[i]);
		}
		free(acharTempChar);
	}

}
Output:
Code:
C:\cmdprogs\cprogs>gcc -o tester.exe enum.cpp

C:\cmdprogs\cprogs>tester
11
C:\cmdprogs\cprogs>
nun...
Zitat Zitat
den der string ist vom ersten bis letzten zeichen ja fest dimensioniert und auch gemalloc()t
Und ausserdem am Schluß der Zeichenkette mit dem obligatorischen 0-Byte versehen, um den String abzuschliessen. Gibt eigentlich Fl_Output::value(const char*) den String in irgendeiner anderen Weise aus bzw. ändert die Funktion etwas am String? Vielleicht kann es ja sein, dass das 0-Byte überschrieben wird.

EDIT: Eine Minute zu spät ^^