All pastes #714039 Raw Edit

Untitled

public c v1 · immutable
#714039 ·published 2007-09-25 21:52 UTC
rendered paste body
#include <stdio.h>#define MAX_NBR_ELEM 5#define MAX_NBR_CHAR 9char ringbuffer[MAX_NBR_ELEM][MAX_NBR_CHAR]; //char matrix with size for 10char stringsint nextToPut=0;int nextToGet=0;int nbrOfElements=0;int isFull=0;void put(char* c){        int i=0;        printf("nextToPut: %d\n",nextToPut);        if(++nextToPut>=MAX_NBR_ELEM){                nextToPut=0;        }        while(i<9){                ringbuffer[nextToPut][i]=c[i];                i++;        }        printf("string copied\n");//      nextToPut++;        nbrOfElements++;        if(nbrOfElements==MAX_NBR_ELEM){                isFull=1;        }}char* get(void){        if(++nextToGet>=MAX_NBR_ELEM){                nextToGet=0;        }        if((ringbuffer[nextToGet]!=NULL)){                nextToGet++;                //              nextToPut--;                nbrOfElements--;                isFull=0;                return ringbuffer[nextToGet-1];        }        else{                return NULL;        }}int main(){        char* pChar;        char* myString0="hello0";        char* myString1="hello1";        char* myString2="hello2";        char* myString3="hello3";        char* myString4="hello4";        char* myString5="hello5";        char* myString6="hello6";        char* myString7="hello7";        put(myString0);        put(myString1);        put(myString2);        put(myString3);        put(myString4);        put(myString5);        put(myString6);        put(myString7);        printf("nbrOfElements: %d\n",nbrOfElements);        pChar=get();printf("fetched from buffer: %s\n",pChar);        pChar=get();printf("fetched from buffer: %s\n",pChar);        pChar=get();printf("fetched from buffer: %s\n",pChar);        pChar=get();printf("fetched from buffer: %s\n",pChar);        pChar=get();printf("fetched from buffer: %s\n",pChar);        pChar=get();printf("fetched from buffer: %s\n",pChar);        pChar=get();printf("fetched from buffer: %s\n",pChar);        pChar=get();printf("fetched from buffer: %s\n",pChar);        printf("nbrOfElements: %d\n",nbrOfElements);}OUTPUT:bkw@sandbox:~/code/buffertest$ ./a.outnextToPut: 0string copiednextToPut: 1string copiednextToPut: 2string copiednextToPut: 3string copiednextToPut: 4string copiednextToPut: 0string copiednextToPut: 1string copiednextToPut: 2string copiednbrOfElements: 8fetched from buffer: hello5fetched from buffer: hello7fetched from buffer: hello4fetched from buffer: hello6fetched from buffer: hello3fetched from buffer: hello4fetched from buffer: hello6fetched from buffer: hello3nbrOfElements: 0