Запись в текстовый файл построчно - C (СИ)
Формулировка задачи:
Подпрограмма должна сохранять текстовый файл построчно. При нажатии пробела fputs считывает новое слово как строку. Как это исправить?
// edit.cpp: главный файл проекта.
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
using namespace System;
void vvod(int n);
int main(array<System::String ^> ^args)
{
int n;
printf("vvedite kol-vo strok");
scanf("%d", &n);
vvod(n);
return 0;
}
void vvod(int n)
{
char **p;
int i;
p= (char**)malloc(n*sizeof(char*));
FILE *fp;
if((fp=fopen("f7.txt", "w+"))==NULL) {
printf("Ошибка при открытии файла.\n");
exit(1);
}
for(i=0;i<n;i++)
{
p[i]= (char*)malloc(80*sizeof(char));
if(!p[i])
{
printf("pamyat ne videlena");
exit (1);
}
scanf("%s",p[i]);
fputs(p[i], fp);
fputs("\n", fp);
}
fclose(fp);
}Решение задачи: «Запись в текстовый файл построчно»
textual
Листинг программы
scanf("%s",p[i]);
fputs(p[i], fp);
fputs("\n", fp);
Объяснение кода листинга программы
В данном коде происходит следующее:
- Вводится строка с помощью функции scanf и сохраняется в переменной p[i].
- Функция fputs записывает содержимое переменной p[i] в файл fp.
- Функция fputs записывает символ новой строки (\n) в файл fp. Список элементов кода:
- Ввод строки с помощью scanf - %s
- Запись строки в файл с помощью fputs - p[i]
- Запись символа новой строки в файл с помощью fputs - \n