Code:
#include <stdio.h>
int main(int argc, char *argv[]) {
int eol_len = 0;
FILE *fp;
if((fp = fopen("/tmp/eolchartest", "wt")) == NULL) ; /* should print an error and exit here . . . use a random name as well */
fputs("\n", fp);
fclose(fp);
if((fp = fopen("/tmp/eolchartest", "rb")) == NULL) ; /* should print an error and exit here . . . use the above random name as well */
while(fgetc(fp) != EOF) eol_len ++;
fclose(fp);
printf("eol_len: %i\n", eol_len);
return 0;
}
This works. Gives 1 for UNIX-style EOL chars, 2 for DOS-style EOLs.