اضافه کردن استرینگ به انتهای فایل - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

اضافه کردن استرینگ به انتهای فایل

0 امتیاز
دوستان سلام ،
پیاده سازی کد سوال زیر به چه صورت است:
برنامه ای بنویسید که ابتدا از کاربر نام txt فایل مورد نظر را دریافت کند. سپس به انتهای آن استرینگ گرفته شده از کاربر را اضافه کند و در خروجی

تمام محتوای فایل را از اول به ما نمایش دهد.
ورودی
شامل 2 خط:
خط اول فایل
خط دو استرینگ
خروجی
اطالعات داخل فایل را چاپ کند
name.txt      «-ورودی
hello



text line 1    «-خروجی
text line 2
text line 3
text line 4
hello
 استرینگ که باید در فایل اضافه شود ، فایل رو باید با حالتaباز کرد. یه بار با حالتw?
سوال شده خرداد 6, 1402 بوسیله ی بی نام  

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_LINE_LENGTH 1024

int main() {
    char filename[MAX_LINE_LENGTH];
    printf("Enter filename: ");
    if (fgets(filename, MAX_LINE_LENGTH, stdin) == NULL) {
        perror("Error reading filename");
        return 1;
    }
    filename[strcspn(filename, "\n")] = '\0'; // remove trailing newline

    FILE* outfile = fopen(filename, "a");
    if (outfile == NULL) {
        perror("Error opening file");
        return 1;
    }

    char str[MAX_LINE_LENGTH];
    printf("Enter string to append: ");
    if (fgets(str, MAX_LINE_LENGTH, stdin) == NULL) {
        perror("Error reading string");
        fclose(outfile);
        return 1;
    }
    str[strcspn(str, "\n")] = '\0'; // remove trailing newline

    fprintf(outfile, "%s\n", str);
    fclose(outfile);

    FILE* infile = fopen(filename, "r");
    if (infile == NULL) {
        perror("Error opening file");
        return 1;
    }
    char line[MAX_LINE_LENGTH];
    while (fgets(line, MAX_LINE_LENGTH, infile) != NULL) {
        printf("%s", line);
    }
    fclose(infile);

    return 0;
}

 

پاسخ داده شده خرداد 6, 1402  بوسیله ی Lori3 (امتیاز 857)   11 37 106
انتخاب شد شهریور 8, 1402 بوسیله ی farnoosh
...