#include<stdio.h>
#include<stdlib.h>

int main()
{

int i,j;
int ascii_value;
char c;

FILE *plain;

plain=fopen("xx.dat","r");

while((c=getc(plain))!=EOF)
{
    ascii_value=c;
    printf("%d %c\n",ascii_value,c);
    printf("~~~~~~~~~~~~~~~~~~~~\n");
}

fclose(plain);
return 0;
}

the file xx.dat is 12sdfsldkfj
MY output is

49 1

50 2

115 s

100 d

102 f

115 s

108 l

100 d

107 k

102 f

106 j

10 

I am unable to understand why 10 in the last line is printed. Please help...Inline Code Example Here

Recommended Answers

All 4 Replies

see other thread

hi [mohit c]

I am unable to understand why 10 in the last line is printed. Please help...

Your input file has a blanck line (new line) after the the line 12sdfsldkfj i.e if the line of your input is 1, the blanck line is 2 remove it and you should be ok.

Or you test it, what is the ascii value for new line?

I am still not able to understand what my input should be like? I entered this input without any blank lines and still 10 which is the ASCII value for a new line is printed.

I ran your program and didn't get that problem. Here is the text file xx.txt that I used.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.