@romentigo

C++ — как посчитать количество строк из файла, которые начинаются и заканчиваются на один и тот же символ?

Программа почти готова, только не могу понять как быть дальше. Если первая строка начинается и заканчивается на один и тот же символ, то счётчик работает, а с остальными строками - нет. Может в цикле чтения файла ошибка?
#include "stdafx.h"
#include <iostream>

using namespace std;

void create_file(FILE* f, char* name)
{
	char s[1000];
	f = fopen(name, "wt"); 
	if (f == NULL) { cout << "Cannot create file\n"; return; }
		cout << "Input strings" << endl;
	do 
	{ 
		gets_s(s, 1000); 
		fputs(s, f); 
		fputs("\n", f); 
	} 
	while (strcmp(s, ""));
		fclose(f); 
}

void view_file(FILE* f, char* name)
{
	char s[1000];
	f = fopen(name, "rt"); 
	if (f == NULL) 
	{
		cout << "Cannot open file to veiw\n"; 
		return; 
	}
	cout << "\nView file" << endl;
	while (fgets(s, 100, f)) 
	{ 
		s[strlen(s) - 1] = '\0'; 
		puts(s); 
	}
	fclose(f);
}

int Strings(FILE* f, char* name)
{
	char s[1000];
	int kol = 0;

	f = fopen(name, "rt");
	if (f == NULL) 
	{ 
		cout << "Cannot open file\n"; 
		return 0; 
	}
	while (fgets(s, 1000, f))
	{
		if (s[0] == s[strlen(s) - 1])
		{
			kol++;
		}
	}
	return kol;
}

int main()
{
	FILE* f = NULL;
	char* name = "file.txt";

	create_file(f, name);
	view_file(f, name);
	cout << "Num of strings: " << Strings(f, name) << endl;

	system("pause");
    return 0;
}
  • Вопрос задан
  • 1880 просмотров
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Отладчик вам поможет!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы