Форум программистов, компьютерный форум CyberForum.ru

Чтение строки из файла - C++

Восстановить пароль Регистрация
 
maksis9n
1 / 1 / 0
Регистрация: 02.01.2013
Сообщений: 48
11.03.2014, 10:42     Чтение строки из файла #1
как считать строку(-и) из файла без стринга?
по заданию у меня выводит кол-во слов с одинаковыми первой и последними буквами(символами)
вместо 3 у меня выводит 33333,с сохранением пока не пробовал
P.s. без чтения из файла все работает нормально
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include "stdafx.h"
#include "conio.h"
#include <iostream>
#include <cstring>
#include <stdlib.h>
 
int kol_simvolov(char *Text);
int numWordsMatch(char text[], int size);
void Load_Save_Rabota_with_text(char *fname);
 
int main()
{
    setlocale(LC_ALL, "Russian");
    char fname[15];
    char fname_save[15];
    printf("Введите имя файла откуда считываем информацию, а потом имя файла куда записываеминформацию:\n");
    gets_s(fname);//ввод имени файла который собираемся считывать
    //gets_s(fname_save);//ввод имени файла который собираемся записывать
    Load_Save_Rabota_with_text(fname);
    _getch();
 
    //printf("Введите исходный текст - ");
    //gets_s(Text);
    //printf("Количество слов с одинаковой первой и последней буквами - %d", numWordsMatch(Text, strlen(Text) + 1));
    _getch();
    return 0;
}
 
int kol_simvolov(char *Text)
{
    int i = 0;
    while (Text[i] != '\0')
    {
        i++;
    }
    int n = i;
 
    return n;
}
int numWordsMatch(char Text[], int size)
{
    int first_symbol = 0;
    int sum = 0;
    for (int i = 0; i < size; i++)
    {
        if ((Text[i] == ' ') || (i == (size - 1)))
        {
            if (Text[first_symbol] == Text[i - 1])
                sum++;
            first_symbol = i + 1;
        }
    }
    return sum;
 
}
void Load_Save_Rabota_with_text(char *fname)
{   
    char Text[100];
    char s[100];
    int n;//количество символов в строке
    int l = kol_simvolov(fname);//количество строк
    //считываем файл
    FILE *read = NULL;
    fopen_s(&read,fname,"rt");
    printf("\n\n");
    int c[1000];
    if (l==0)l=-1;
        //показывает на изменение строки возращает ноль если строка не была преобразована то есть осталась не изменной
    for (int i=0;i<l;i++)
    {       
        fgets(Text , 100, read);
        n = kol_simvolov(Text);
        //построчно передаём строку в функцию которая преобразует строку по заданию
        int sum=numWordsMatch(Text,n);
        printf("%d",sum);
        //сохраняет преобразованные и не преобразованные строки в новый файл
        //FILE *save=NULL;
        //fopen_s(&save,fname_save,"a");
        //fprintf(save,"%s",s);
        //fclose(save);
    }
    fclose(read);
    _getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 10:42     Чтение строки из файла
Посмотрите здесь:

C++ Чтение строки из файла
Строки, чтение из файла C++
Чтение строки из файла C++
Чтение строки из файла C++
Чтение из файла и строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,170
Завершенные тесты: 1
11.03.2014, 11:21     Чтение строки из файла #2
Цитата Сообщение от maksis9n Посмотреть сообщение
как считать строку(-и) из файла без стринга?
А в массив символов можно?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.03.2014, 11:21     Чтение строки из файла #3
Цитата Сообщение от maksis9n Посмотреть сообщение
как считать строку(-и) из файла без стринга?
C++
1
2
3
char str[256];
ifstream fin("file.txt");
fin.getline(str, 256);
maksis9n
1 / 1 / 0
Регистрация: 02.01.2013
Сообщений: 48
11.03.2014, 11:24  [ТС]     Чтение строки из файла #4
Цитата Сообщение от zss Посмотреть сообщение
А в массив символов можно?
ну да,можно

Добавлено через 1 минуту

подчеркивает ifstream
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,170
Завершенные тесты: 1
11.03.2014, 11:25     Чтение строки из файла #5
Цитата Сообщение от maksis9n Посмотреть сообщение
подчеркивает ifstream
C++
1
#include <fstream>
maksis9n
1 / 1 / 0
Регистрация: 02.01.2013
Сообщений: 48
11.03.2014, 11:28  [ТС]     Чтение строки из файла #6
Цитата Сообщение от zss Посмотреть сообщение
#include <fstream>
я подключил уже,заработало
а как проверить что он правильно считывает? а то на экран ничего не выводит
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2014, 20:05     Чтение строки из файла
Еще ссылки по теме:

Чтение строки из файла C++
C++ Чтение строки из файла
Чтение строки из файла C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,170
Завершенные тесты: 1
11.03.2014, 20:05     Чтение строки из файла #7
Поставьте после чтения точку останова и посмотрите значения переменных,
когда выполнение остановится в этой точке.
Yandex
Объявления
11.03.2014, 20:05     Чтение строки из файла
Ответ Создать тему
Опции темы

Текущее время: 12:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru