#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int NumOfLines;
printf("Enter the count of lines: ");
scanf("%i", &NumOfLines);
FILE* fp;
system("chcp 1251");
system("cls");
fp = fopen("file.txt", "w+"); // Открытие пустого файла для записи
if ((fp = fopen("file.txt", "w+")) == NULL) //Error report
{
printf("Cannot open the file :(");
getchar();
return 0;
}
char* message[255];
for (int i = 0; i < NumOfLines; i++) //Запись построчно
{
printf("Enter your %i phrase: ", i+1);
getchar();
gets(message); // Ошибка тут.
fputs(message, fp);
printf("message is %s", message);
fputs("\n", fp);
}
fclose(fp); //Закрыл файл
fp = fopen("file.txt", "r+"); // Открыл (опять) для чтения и записи
char* line[255];
int NumOfWord;
for (int i = 0; i < NumOfLines; i++)
{
if (fgets(line, 250, fp) != NULL);
NumOfWord = 1;
for (int j = 0; j < strlen(line); j++)
{
if (*line[j] == ' ')
NumOfWord++;
else if (line[j] == "\n")
{
char* NumOfWords[20];
*NumOfWords = NumOfWord;
printf("Nums ar %c", NumOfWords);
fputs(NumOfWords, fp);
}
}
}
system("pause");
fclose(fp);
getchar();
return 0;
}
При вводе первой строки, в файл записывается она полностью, а при последующих не записывается первый символ
Пример >=второй строки
input: test
output: est
Краткое описание кода:
Код должен считать кол-во строк, через цикл ввести эти строки в .txt файл.
После чего посчитать количество слов в каждой строке (пробелов) и записать этот int в соответсвующей строчки того же файла