// see strqueue.h for the interface StrQueue file2StrQueue(const char *filename) { FILE *f; if (filename) { // try to open the file f = fopen(filename,"r"); if (f == NULL) { printf("error! could not open the file %s\n",filename); exit(EXIT_FAILURE); } } else { // (keyboard / .in file) f = stdin; } StrQueue sq = create_StrQueue(); char word[101]; // artificial limit on word size while (1) { fscanf(f,"%s",word); if (feof(f)) { break; } else { sq_add_back(sq, word); } } if (filename) { fclose(f); } return sq; }
int main (void){ StrQueue c = create_StrQueue(); sq_add_back(c,"test1\n"); char* temp = sq_remove_front(c); printf("%s", temp); free (temp); destroy_StrQueue(c); // otuput:test1 }