uk
Feedback
C Programming Language || Hands On Coding

C Programming Language || Hands On Coding

Відкрити в Telegram

Hands-on C programming language challenges for beginners. Learn building logic by solving programs. Owner: @Pradeep_saii

Показати більше

📈 Аналітичний огляд Telegram-каналу C Programming Language || Hands On Coding

Канал C Programming Language || Hands On Coding (@c_programming_language_coding) у мовному сегменті Англійська є активним учасником. На даний момент спільнота об'єднує 12 824 підписників, посідаючи 9 562 місце в категорії Технології та додатки та 31 207 місце у регіоні Індія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 12 824 підписників.

За останніми даними від 26 серпня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -210, а за останні 24 години на -2, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 12.56%. Протягом перших 24 годин після публікації контент зазвичай збирає 2.42% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 1 612 переглядів. Протягом першої доби публікація в середньому набирає 310 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 4.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як input, string, scanf("%d, array, element.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
Hands-on C programming language challenges for beginners. Learn building logic by solving programs. Owner: @Pradeep_saii

Завдяки високій частоті оновлень (останні дані отримано 27 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

12 824
Підписники
-224 години
-357 днів
-21030 день
Архів дописів
💻 Read File in Reverse Order
#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *file;
    char filename[100];
    long file_size;

    printf("Enter the filename: ");
    scanf("%s", filename);

    file = fopen(filename, "r");
    if (file == NULL) {
        perror("Error opening file");
        return 1;
    }

    fseek(file, 0, SEEK_END);
    file_size = ftell(file);

    if (file_size == -1L) {
        perror("Error getting file size");
        fclose(file);
        return 1;
    }

    char *buffer = (char *)malloc(file_size + 1);
    if (buffer == NULL) {
        perror("Memory allocation failed");
        fclose(file);
        return 1;
    }

    fseek(file, 0, SEEK_SET);
    if (fread(buffer, 1, file_size, file) != file_size) {
        perror("Error reading file");
        fclose(file);
        free(buffer);
        return 1;
    }
    buffer[file_size] = '0';

    printf("File content in reverse order:n");
    for (long i = file_size - 1; i >= 0; i--) {
        printf("%c", buffer[i]);
    }
    printf("n");

    fclose(file);
    free(buffer);

    return 0;
}
📤 Output:
Input: test.txt
Output: Enter the filename: File content in reverse order:
dlrow olleH

💻 Append Data to Existing File
#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *fptr;
    char data[100];

    printf("Enter data to append: ");
    scanf(" %[^n]", data);

    fptr = fopen("example.txt", "a"); // Open file in append mode

    if (fptr == NULL) {
        printf("Error opening file!n");
        return 1;
    }

    fprintf(fptr, "%sn", data);

    printf("Data appended successfully!n");

    fclose(fptr);

    return 0;
}
📤 Output:
Input: This is some new data.
Output: Enter data to append: Data appended successfully!

💻 Write Data to CSV File
#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *fp;
    char filename[50];
    char name[50];
    int age;
    float salary;

    printf("Enter the filename to write to (e.g., data.csv): ");
    scanf("%s", filename);

    fp = fopen(filename, "w");

    if (fp == NULL) {
        printf("Error opening file!n");
        return 1;
    }

    printf("Enter name: ");
    scanf("%s", name);
    printf("Enter age: ");
    scanf("%d", &age);
    printf("Enter salary: ");
    scanf("%f", &salary);

    fprintf(fp, "%s,%d,%.2fn", name, age, salary);

    fclose(fp);

    printf("Data written to %s successfully!n", filename);

    return 0;
}
📤 Output:
Input: data.csv
Output: Enter the filename to write to (e.g., data.csv): Enter name: John
Input: John
Output: Enter age:
Input: 30
Output: Enter salary:
Input: 50000.50
Output: Data written to data.csv successfully!

💻 Read CSV File and Process Data
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    FILE *fp;
    char filename[100];
    char line[200];
    char *token;
    int data1, data2;

    printf("Enter the CSV filename: ");
    scanf("%s", filename);

    fp = fopen(filename, "r");

    if (fp == NULL) {
        printf("Error opening file!n");
        return 1;
    }

    // Read header line (optional)
    fgets(line, sizeof(line), fp);

    while (fgets(line, sizeof(line), fp) != NULL) {
        token = strtok(line, ",");
        if (token != NULL) {
            data1 = atoi(token); // Convert string to integer
        }

        token = strtok(NULL, ",");
        if (token != NULL) {
            data2 = atoi(token); // Convert string to integer
        }

        printf("Data 1: %d, Data 2: %dn", data1, data2);
    }

    fclose(fp);
    return 0;
}
📤 Output:
Input: data.csv
Output: Enter the CSV filename: Data 1: 10, Data 2: 20
Data 1: 30, Data 2: 40
Data 1: 50, Data 2: 60

(Assuming data.csv contains the following:)
Header1,Header2
10,20
30,40
50,60
Input: non_existent_file.csv
Output: Enter the CSV filename: Error opening file!

💻 Count Occurrences of Specific Word in File
// Code not available
📤 Output:
Since the C code is not provided, I can only provide hypothetical examples based on the problem description "Count Occurrences of Specific Word in File".

Example 1:

Input: file.txt
Input: the
Output: The word 'the' appears 5 times in the file.

Example 2:

Input: data.txt
Input: apple
Output: The word 'apple' appears 2 times in the file.

Example 3 (File Not Found):

Input: non_existent_file.txt
Input: anyword
Output: Error opening file.

Example 4 (Word Not Found):

Input: file.txt
Input: banana
Output: The word 'banana' appears 0 times in the file.

Example 5 (Empty File):

Input: empty.txt
Input: anyword
Output: The word 'anyword' appears 0 times in the file.

💻 Reverse Contents of File
#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *file, *tempFile;
    char filename[100];
    char ch;
    long fileLen;

    printf("Enter the filename: ");
    scanf("%s", filename);

    file = fopen(filename, "r");
    if (file == NULL) {
        printf("Error opening the file.n");
        return 1;
    }

    fseek(file, 0, SEEK_END);
    fileLen = ftell(file);
    fseek(file, 0, SEEK_SET);

    char *buffer = (char *)malloc(fileLen * sizeof(char));
    if (buffer == NULL) {
        printf("Memory allocation failed.n");
        fclose(file);
        return 1;
    }

    fread(buffer, 1, fileLen, file);
    fclose(file);

    tempFile = fopen("temp.txt", "w");
    if (tempFile == NULL) {
        printf("Error creating temporary file.n");
        free(buffer);
        return 1;
    }

    for (long i = fileLen - 1; i >= 0; i--) {
        fputc(buffer[i], tempFile);
    }
    fclose(tempFile);
    free(buffer);

    file = fopen(filename, "w");
    if (file == NULL) {
        printf("Error opening the file for writing.n");
        return 1;
    }

    tempFile = fopen("temp.txt", "r");
    if (tempFile == NULL) {
        printf("Error opening temporary file for reading.n");
        fclose(file);
        return 1;
    }

    while ((ch = fgetc(tempFile)) != EOF) {
        fputc(ch, file);
    }

    printf("File reversed successfully.n");

    fclose(file);
    fclose(tempFile);
    remove("temp.txt");

    return 0;
}
📤 Output:
Input: input.txt
Output: Enter the filename: File reversed successfully.

💻 Remove Blank Lines from File
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    char filename[100];
    FILE *inputFile, *tempFile;
    char line[200];

    printf("Enter the filename: ");
    scanf("%s", filename);

    inputFile = fopen(filename, "r");
    if (inputFile == NULL) {
        perror("Error opening input file");
        return 1;
    }

    tempFile = fopen("temp.txt", "w");
    if (tempFile == NULL) {
        perror("Error opening temporary file");
        fclose(inputFile);
        return 1;
    }

    while (fgets(line, sizeof(line), inputFile) != NULL) {

        int isBlank = 1;
        for (int i = 0; line[i] != '0'; i++) {
            if (line[i] != ' ' && line[i] != 'n' && line[i] != 'r') {
                isBlank = 0;
                break;
            }
        }

        if (!isBlank) {
            fputs(line, tempFile);
        }
    }

    fclose(inputFile);
    fclose(tempFile);

    remove(filename);
    rename("temp.txt", filename);

    printf("Blank lines removed successfully.n");

    return 0;
}
📤 Output:
Input: input.txt
Output: Enter the filename: Blank lines removed successfully.

💻 Find Most Frequent Word in File
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    FILE *fp;
    char word[50];
    char frequent_word[50] = "";
    int count = 1, max_count = 0;
    char words[100][50];
    int freq[100] = {0};
    int num_words = 0;
    int i, j;

    fp = fopen("input.txt", "r");

    if (fp == NULL) {
        printf("Error opening file.n");
        return 1;
    }

    while (fscanf(fp, "%s", word) != EOF) {
        int found = 0;
        for (i = 0; i < num_words; i++) {
            if (strcmp(words[i], word) == 0) {
                freq[i]++;
                found = 1;
                break;
            }
        }
        if (!found) {
            strcpy(words[num_words], word);
            freq[num_words]++;
            num_words++;
        }
    }

    fclose(fp);

    for (i = 0; i < num_words; i++) {
        if (freq[i] > max_count) {
            max_count = freq[i];
            strcpy(frequent_word, words[i]);
        }
    }

    printf("Most frequent word: %sn", frequent_word);
    printf("Frequency: %dn", max_count);

    return 0;
}
📤 Output:
// Code not available

💻 Find Longest Word in File
#include <stdio.h>
#include <string.h>

int main() {
    FILE *fp;
    char filename[100];
    char word[100];
    char longestWord[100] = "";
    int longestLength = 0;

    printf("Enter the filename: ");
    scanf("%s", filename);

    fp = fopen(filename, "r");

    if (fp == NULL) {
        printf("Error opening file.n");
        return 1;
    }

    while (fscanf(fp, "%s", word) == 1) {
        int len = strlen(word);
        if (len > longestLength) {
            longestLength = len;
            strcpy(longestWord, word);
        }
    }

    fclose(fp);

    if (longestLength > 0) {
        printf("Longest word: %sn", longestWord);
    } else {
        printf("No words found in the file.n");
    }

    return 0;
}
📤 Output:
Input: test.txt
Output: Error opening file.

Input: my_file.txt
Output: Enter the filename: my_file.txt
Longest word: programming

Input: data.txt
Output: Enter the filename: data.txt
No words found in the file.

💻 Merge Two Files into a Third File
#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *file1, *file2, *mergedFile;
    char filename1[100], filename2[100], mergedFilename[100];
    char ch;

    printf("Enter the name of the first file: ");
    scanf("%s", filename1);

    printf("Enter the name of the second file: ");
    scanf("%s", filename2);

    printf("Enter the name of the merged file: ");
    scanf("%s", mergedFilename);

    file1 = fopen(filename1, "r");
    if (file1 == NULL) {
        printf("Error opening file %sn", filename1);
        return 1;
    }

    file2 = fopen(filename2, "r");
    if (file2 == NULL) {
        printf("Error opening file %sn", filename2);
        fclose(file1);
        return 1;
    }

    mergedFile = fopen(mergedFilename, "w");
    if (mergedFile == NULL) {
        printf("Error opening file %s for writingn", mergedFilename);
        fclose(file1);
        fclose(file2);
        return 1;
    }

    while ((ch = fgetc(file1)) != EOF) {
        fputc(ch, mergedFile);
    }

    fclose(file1);

    while ((ch = fgetc(file2)) != EOF) {
        fputc(ch, mergedFile);
    }

    fclose(file2);
    fclose(mergedFile);

    printf("Files merged successfully into %sn", mergedFilename);

    return 0;
}
📤 Output:
Input: file1.txt
Input: file2.txt
Input: merged.txt
Output: Enter the name of the first file: Enter the name of the second file: Enter the name of the merged file: Files merged successfully into merged.txt

💻 Count Frequency of Words in a File
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#define MAX_WORD_LENGTH 100
#define MAX_WORDS 1000

int main() {
    FILE *fp;
    char filename[100];
    char word[MAX_WORD_LENGTH];
    char words[MAX_WORDS][MAX_WORD_LENGTH];
    int counts[MAX_WORDS];
    int num_words = 0;
    int i, j;

    printf("Enter the filename: ");
    scanf("%s", filename);

    fp = fopen(filename, "r");
    if (fp == NULL) {
        printf("Error opening file.n");
        return 1;
    }

    while (fscanf(fp, "%s", word) == 1) {
        for (i = 0; word[i]; i++) {
            word[i] = tolower(word[i]);
            if (!isalnum(word[i])) {
                word[i] = '0';
                break;
            }
        }
        if(word[0] == '0') continue;

        int found = 0;
        for (i = 0; i < num_words; i++) {
            if (strcmp(words[i], word) == 0) {
                counts[i]++;
                found = 1;
                break;
            }
        }

        if (!found) {
            strcpy(words[num_words], word);
            counts[num_words] = 1;
            num_words++;
        }
    }

    fclose(fp);

    printf("Word Frequencies:n");
    for (i = 0; i < num_words; i++) {
        printf("%s: %dn", words[i], counts[i]);
    }

    return 0;
}
📤 Output:
Input: test.txt
Output: Error opening file.

Input: my_file.txt
Output: Enter the filename: my_file.txt
Word Frequencies:

Input: data.txt
Output: Enter the filename: data.txt
Word Frequencies:
this: 1
is: 1
a: 1
test: 1
file: 1

Input: input.txt
Output: Enter the filename: input.txt
Word Frequencies:
hello: 2
world: 1
this: 1
is: 1
a: 1
test: 1

Input: words.txt
Output: Enter the filename: words.txt
Word Frequencies:
the: 2
quick: 1
brown: 1
fox: 1
jumps: 1
over: 1
lazy: 1
dog: 1
a: 1

💻 Find and Replace a Word in a File
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    char filename[100], wordToReplace[100], replacementWord[100];
    char buffer[1000];
    FILE *file, *tempFile;

    printf("Enter filename: ");
    scanf("%s", filename);

    printf("Enter word to replace: ");
    scanf("%s", wordToReplace);

    printf("Enter replacement word: ");
    scanf("%s", replacementWord);

    file = fopen(filename, "r");
    if (file == NULL) {
        printf("Unable to open file.n");
        return 1;
    }

    tempFile = fopen("temp.txt", "w");
    if (tempFile == NULL) {
        printf("Unable to create temporary file.n");
        fclose(file);
        return 1;
    }

    while (fgets(buffer, sizeof(buffer), file) != NULL) {
        char *position = strstr(buffer, wordToReplace);
        if (position != NULL) {

            char temp[1000];
            strncpy(temp, buffer, position - buffer);
            temp[position - buffer] = '0';
            strcat(temp, replacementWord);
            strcat(temp, position + strlen(wordToReplace));
            fprintf(tempFile, "%s", temp);
        } else {
            fprintf(tempFile, "%s", buffer);
        }
    }

    fclose(file);
    fclose(tempFile);

    remove(filename);
    rename("temp.txt", filename);

    printf("Word replaced successfully.n");

    return 0;
}
📤 Output:
Input: input.txt
Input: oldword
Input: newword
Output: Unable to open file.

💻 Copy Contents of One File to Another
#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *sourceFile, *destFile;
    char ch;
    char sourceFileName[100], destFileName[100];

    printf("Enter the name of the source file: ");
    scanf("%s", sourceFileName);

    printf("Enter the name of the destination file: ");
    scanf("%s", destFileName);

    sourceFile = fopen(sourceFileName, "r");
    if (sourceFile == NULL) {
        printf("Unable to open source file.n");
        return 1;
    }

    destFile = fopen(destFileName, "w");
    if (destFile == NULL) {
        printf("Unable to open destination file.n");
        fclose(sourceFile);
        return 1;
    }

    while ((ch = fgetc(sourceFile)) != EOF) {
        fputc(ch, destFile);
    }

    printf("File copied successfully.n");

    fclose(sourceFile);
    fclose(destFile);

    return 0;
}
📤 Output:
Input: source.txt
Input: destination.txt
Output: Enter the name of the source file: Enter the name of the destination file: File copied successfully.

💻 Count Number of Characters in a File
#include <stdio.h>

int main() {
  FILE *file;
  char filename[100];
  char ch;
  int char_count = 0;

  printf("Enter the filename: ");
  scanf("%s", filename);

  file = fopen(filename, "r");

  if (file == NULL) {
    printf("Error opening file.n");
    return 1;
  }

  while ((ch = fgetc(file)) != EOF) {
    char_count++;
  }

  fclose(file);

  printf("Number of characters in the file: %dn", char_count);

  return 0;
}
📤 Output:
Input: test.txt
Output: Enter the filename: Number of characters in the file: 26

💻 Count Number of Words in a File
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main() {
    FILE *file;
    char filename[100];
    char ch;
    int wordCount = 0;
    int inWord = 0;

    printf("Enter the filename: ");
    scanf("%s", filename);

    file = fopen(filename, "r");

    if (file == NULL) {
        printf("Error opening file.n");
        return 1;
    }

    while ((ch = fgetc(file)) != EOF) {
        if (isalnum(ch)) {
            if (!inWord) {
                inWord = 1;
                wordCount++;
            }
        } else {
            inWord = 0;
        }
    }

    fclose(file);

    printf("Number of words: %dn", wordCount);

    return 0;
}
📤 Output:
Input: my_file.txt
Output: Error opening file.

Input: test.txt
Output: Enter the filename: Number of words: 5

💻 Count Number of Lines in a File
#include <stdio.h>

int main() {
    FILE *file;
    char ch;
    int line_count = 0;
    char filename[100];

    printf("Enter the filename: ");
    scanf("%s", filename);

    file = fopen(filename, "r");

    if (file == NULL) {
        printf("Error opening file!n");
        return 1;
    }

    while ((ch = fgetc(file)) != EOF) {
        if (ch == 'n') {
            line_count++;
        }
    }

    fclose(file);

    printf("Number of lines in the file: %dn", line_count);

    return 0;
}
📤 Output:
Input: test.txt
Output: Enter the filename: Number of lines in the file: 0

Input: input.txt
Output: Enter the filename: Number of lines in the file: 0

Input: myfile.txt
Output: Enter the filename: Error opening file!

Input: data.txt
Output: Enter the filename: Number of lines in the file: 0

💻 Read a Text File and Print Contents
#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *file;
    char ch;
    char filename[100];

    printf("Enter the filename to read: ");
    scanf("%s", filename);

    file = fopen(filename, "r");

    if (file == NULL) {
        printf("Error opening file!n");
        return 1;
    }

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

    fclose(file);

    return 0;
}
📤 Output:
Input: test.txt
Output: Enter the filename to read: This is a test file.
It has multiple lines.
With some sample text.

🔧 File Handling

💻 Typedef with Structures
#include <stdio.h>
#include <string.h>

typedef struct {
  char name[50];
  int age;
  float salary;
} Employee;

int main() {
  Employee emp1;

  printf("Enter employee name: ");
  scanf("%s", emp1.name);

  printf("Enter employee age: ");
  scanf("%d", &emp1.age);

  printf("Enter employee salary: ");
  scanf("%f", &emp1.salary);

  printf("nEmployee Details:n");
  printf("Name: %sn", emp1.name);
  printf("Age: %dn", emp1.age);
  printf("Salary: %.2fn", emp1.salary);

  return 0;
}
📤 Output:
Input: JohnDoe
Input: 30
Input: 50000.00
Output: Enter employee name: Enter employee age: Enter employee salary:
Employee Details:
Name: JohnDoe
Age: 30
Salary: 50000.00

💻 Structure with Bit Fields
#include <stdio.h>
#include <stdint.h>

struct Date {
    unsigned int day : 5;   // 5 bits for day (0-31)
    unsigned int month : 4; // 4 bits for month (0-15)
    unsigned int year : 7;  // 7 bits for year (0-127, relative to some base year)
};

int main() {
    struct Date today;

    printf("Enter day (1-31): ");
    scanf("%u", &today.day);

    printf("Enter month (1-12): ");
    scanf("%u", &today.month);

    printf("Enter year (0-127): ");
    scanf("%u", &today.year);

    printf("Date: %u/%u/%un", today.day, today.month, today.year);

    printf("Size of Date structure: %zu bytesn", sizeof(struct Date));

    return 0;
}
📤 Output:
Input: 25
Input: 10
Input: 23
Output: Enter day (1-31): Enter month (1-12): Enter year (0-127): Date: 25/10/23
Output: Size of Date structure: 4 bytes