Character I/O in Files in C

Introduction

C language में file handling के दौरान हम character-by-character (एक-एक character) data read और write कर सकते हैं।

इसे Character I/O कहा जाता है।

यह useful होता है जब:

  • file को character level पर process करना हो
  • special characters handle करने हों
  • text processing करना हो

Character I/O Functions

FunctionUse
fputc()File में एक character लिखने के लिए
fgetc()File से एक character पढ़ने के लिए

1. Writing Character using fputc()

Syntax

fputc(character, file_pointer);

Example Program:

#include <stdio.h>

int main() {

FILE *fp;
char ch = 'A';

fp = fopen("char.txt", "w");
if (fp == NULL) {
printf("Error opening file\n");
return 1;
}

fputc(ch, fp);
fclose(fp);

printf("Character written successfully\n");

return 0;
}

Program Explanation

  1. FILE *fp; → file pointer declare किया
  2. "w" mode में file open की गई
  3. fputc(ch, fp);
    • character 'A' file में write हुआ
  4. fclose(fp); → file close

File Content (char.txt):

A

Output:

Character written successfully

2. Reading Character using fgetc()

Syntax

character = fgetc(file_pointer);

Example Program:

#include <stdio.h>

int main() {

FILE *fp;
char ch;

fp = fopen("char.txt", "r");
if (fp == NULL) {
printf("File not found\n");
return 1;
}

ch = fgetc(fp);

printf("Character read: %c\n", ch);
fclose(fp);

return 0;
}

Program Explanation

  1. file "char.txt" read mode में open की गई
  2. fgetc(fp)
    • file से एक character read करता है
  3. character को variable ch में store किया गया
  4. output print किया गया

Output:

Character read: A

3. Complete Program: Multiple Characters Read/Write

#include <stdio.h>

int main() {

FILE *fp;
char ch;

// Write characters
fp = fopen("file.txt", "w");

fputc('H', fp);
fputc('e', fp);
fputc('l', fp);
fputc('l', fp);

fputc('o', fp);

fclose(fp);
// Read characters
fp = fopen("file.txt", "r");

printf("File Content: ");

while ((ch = fgetc(fp)) != EOF) {
printf("%c", ch);
}

fclose(fp);

return 0;
}

Program Explanation

Writing Part:

  • fputc() से characters एक-एक करके file में लिखे गए

Reading Part:

  • fgetc() से characters एक-एक करके पढ़े गए
  • loop तब तक चलता है जब तक EOF (End of File) नहीं आता

Output:

File Content: Hello

Important Concept: EOF

  • EOF का मतलब है End of File
  • जब file का data खत्म हो जाता है, तब fgetc() EOF return करता है
  • इसे loop control करने के लिए use किया जाता है

Important Points

  • Character I/O में data एक-एक character में process होता है
  • fputc() → write
  • fgetc() → read
  • EOF check करना जरूरी है
  • text processing में बहुत useful है

Advantages

1. Fine control

हर character को individually handle कर सकते हैं

2. Simple logic

easy programs में useful

3. Useful for parsing

text analysis में काम आता है

Limitations

  • slow होता है (character by character)
  • large data के लिए efficient नहीं

Exam / Practical Tips

  • fputc() और fgetc() जरूर याद करें
  • EOF based loop बहुत important है
  • write + read combined program practice करें

Conclusion

Character I/O in files C language का एक basic लेकिन powerful concept है, जिसमें हम file को character level पर control कर सकते हैं।

यह text processing, parsing और simple file operations के लिए बहुत useful होता है।

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top