Hi, I'm relatively new to C and extremely new to pointers. I use Dev-C++ as my IDE and when I compile my program I get warnings such as "[Warning] passing arg 1 of `printf' makes pointer from integer without a cast ". The thing is, I don't get this error if I simply open the IDE and instantly press "compile" but I do get it if, say, the printf() line was commented before and then I remove the comment, with the final code being identical. I'm guessing that I'm doing something wrong with pointers. Here's the program:
The basic idea is that it find the date then mlTimeSTring returns a string with the date formatted in a more readable form. Thanks in advance.Code:#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { FILE *outfile; outfile = fopen("output.txt","w"); if(!outfile) { puts("Oh noes!"); exit(0); } time_t rawtime = time(NULL); printf(mlTimeString(&rawtime)); fprintf(outfile, mlTimeString(&rawtime)); fclose(outfile); return 0; } char *mlTimeString(time_t* t) { int k, k1; char* retstring = malloc(30); if(retstring == NULL) return NULL; for(k = 0; k < 30; k++) retstring[k]='\0'; char weekdays[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; char months[12][10]={"January","February","March","April","May","June","July","August","September","October","November","December"}; struct tm* readabletime; readabletime = localtime(t); int x = (*readabletime).tm_wday; for(k = 0; weekdays[x][k] != '\0'; k++) retstring[k] = weekdays[x][k]; k1 = k; retstring[k1]=','; retstring[++k1]=' '; x = (*readabletime).tm_mon; k1++; for(k = 0; months[x][k] != '\0'; k++, k1++) retstring[k1] = months[x][k]; return retstring; }



LinkBack URL
About LinkBacks


