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
| Function | Use |
|---|---|
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
FILE *fp;→ file pointer declare किया"w"mode में file open की गईfputc(ch, fp);- character
'A'file में write हुआ
- character
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
- file
"char.txt"read mode में open की गई fgetc(fp)- file से एक character read करता है
- character को variable
chमें store किया गया - 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()EOFreturn करता है - इसे loop control करने के लिए use किया जाता है
Important Points
- Character I/O में data एक-एक character में process होता है
fputc()→ writefgetc()→ readEOFcheck करना जरूरी है- 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()जरूर याद करेंEOFbased 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 होता है।