All pastes #715550 Raw Edit

Unnamed

public c v1 · immutable
#715550 ·published 2007-09-26 12:00 UTC
rendered paste body
OUTPUT:nbrOfElements: 5nextToGet is: 1fetched from buffer: hello0nextToGet is: 2fetched from buffer: hello1nextToGet is: 3fetched from buffer: hello2nextToGet is: 4fetched from buffer: hello3nextToGet is: 5fetched from buffer: hello4nextToGet is: 0fetched from buffer:nextToGet is: 1fetched from buffer: hello0nextToGet is: 2fetched from buffer: hello1nbrOfElements: 5#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;void put(char* c){        int i=0;        printf("nextToPut: %d\n",nextToPut);        if(nbrOfElements>=MAX_NBR_ELEM){                printf("buffer full\n");        }        else{                while(i<9){                        ringbuffer[nextToPut][i]=c[i];                        i++;                }                printf("string copied\n");                if(nextToPut<MAX_NBR_ELEM-1){                        nextToPut++;                        printf("nextToPut is: %d\n",nextToPut);                }                nbrOfElements++;        }}char* get(void){        if(++nextToGet>MAX_NBR_ELEM){                nextToGet=0;        }        if((ringbuffer[nextToGet]!=NULL)){                if(nbrOfElements<=MAX_NBR_ELEM && nbrOfElements<=0){                        nbrOfElements--;//                      nextToGet++;                }                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("nextToGet is: %d\n",nextToGet);        printf("fetched from buffer: %s\n",pChar);        pChar=get();        printf("nextToGet is: %d\n",nextToGet);        printf("fetched from buffer: %s\n",pChar);        pChar=get();        printf("nextToGet is: %d\n",nextToGet);        printf("fetched from buffer: %s\n",pChar);        pChar=get();        printf("nextToGet is: %d\n",nextToGet);        printf("fetched from buffer: %s\n",pChar);        pChar=get();        printf("nextToGet is: %d\n",nextToGet);        printf("fetched from buffer: %s\n",pChar);        pChar=get();        printf("nextToGet is: %d\n",nextToGet);        printf("fetched from buffer: %s\n",pChar);        pChar=get();        printf("nextToGet is: %d\n",nextToGet);        printf("fetched from buffer: %s\n",pChar);        pChar=get();        printf("nextToGet is: %d\n",nextToGet);        printf("fetched from buffer: %s\n",pChar);        printf("nbrOfElements: %d\n",nbrOfElements);}