Search code examples
cfiletextfputs

Inserting 400 numbers in a text file


I am trying to write numbers from 1, up to 400 in a text file. I am using the code below, which is running without any errors, but the file is being left empty.

Any help would be appreciated.

#include <stdio.h>

int main(void)
{
    FILE *filePointer;
    filePointer = fopen("file.txt","w");
    int i; 
    for(i=0; i > 400; i++)
    {
        fputs("%d, ",i,filePointer);
    }
    fclose(filePointer);
    return(0);
}

Solution

  • The fputs syntax seem wrong. I think it is:

    int fputs(const char *str, FILE *stream)
    

    Pick @unwind's approach (as mentioned above) but if you still want to use fputs then your fputs line should be expanded into 3 lines:

    char temp[4];                // String to store 3-digit number + '\0'
    sprintf(temp, "%d, ", i);    // Prepare a string for a given number
    fputs(temp, filePointer);    // Write the string to the file
    

    This should work. #happycoding :)

    PS: You seem to be following a bit C++ standard in declaring a variable anywhere. It is not pure C. #justsaying