LINUX.ORG.RU

Как на Си реализовать ввод в файл с новой строки?

 


0

1

вот текст программы:

#include <stdio.h>
 
int main()
{
    char myString[100]; 
    char myString2[100]="привет";
 
    FILE *f;
    f=fopen("23.txt","w");
   fprintf(f, "%s",myString2);
    fclose(f);
    f=fopen("23.txt","a");
    printf("Введите текст:  ");
    fgets( myString, 100,stdin);
    fprintf(f, "%s",myString);
 
 
 
    fclose(f);
    
   
 
 
 
    getchar();
}
}

После «Привет» вводиться текст без пробела, а хотелось бы с новой строки. Подскажите пожалуйста

'\n':

fprintf(f, "%s\n",myString2);
Справка.

P.S. Такими формулировками вопросов можно же людям весь мозг сломать. И вообще это в Development должно быть.

xaizek ★★★★★
()

Или

myString2[100]=«привет\n»;

anonymous
()
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int
main(void)
{
    FILE *fp = NULL;
    size_t filesize = 0;
    char *filecontents = NULL;
    const char *strfilewrite = "lor is a wonderful site";

    // разумное чтение

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

    if (fp == NULL) {
        fprintf(stderr, "open file error\n");

        return -1;
    }

    fseek(fp, 0L, SEEK_END);
    filesize = ftell(fp);
    fseek(fp, 0L, SEEK_SET);
    filecontents = (char *) malloc((filesize +1) * sizeof(char));

    if (filecontents == NULL) {
        fprintf(stderr, "mem alloc error\n");

        return -1;
    }

    fread(filecontents, sizeof(char), filesize, fp);
    *(filecontents + filesize) = '\0';
    fprintf(stdout, "%s\n", filecontents);
    free(filecontents);
    fclose(fp);

    // разумная запись

    fp = fopen("file.txt", "a+");
    fwrite(strfilewrite, sizeof(char), strlen(strfilewrite), fp);
    fclose(fp);

    return 0;
}

как-то так.. вне проверял, тут печатал.

cherry
()
Ответ на: комментарий от xaizek

И вообще это в Development должно быть.

Может, он ядро переписывает, бгг.

Virtuos86 ★★★★★
()
Ответ на: комментарий от cherry
    // разумная запись

    fp = fopen("file.txt", "a+");

    if (fp == NULL) { // забыл проверочку.
        fprintf(stderr, "open file error\n");

        return -1;
    }

    fwrite(strfilewrite, sizeof(char), strlen(strfilewrite), fp);
    fclose(fp);
cherry
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.