Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
maksis9n
2 / 2 / 0
Регистрация: 02.01.2013
Сообщений: 50
#1

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

11.03.2014, 10:42. Просмотров 464. Ответов 6
Метки нет (Все метки)

как считать строку(-и) из файла без стринга?
по заданию у меня выводит кол-во слов с одинаковыми первой и последними буквами(символами)
вместо 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();
}

http://www.cyberforum.ru/cpp-beginners/thread1961182.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 10:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Чтение строки из файла (C++):

Чтение строки из файла
Как прочитать все\одну определенную строку из файла и например сравнить с...

Чтение строки из файла
помогите пожалуйста. как прочесть всю строку из файла?

Чтение строки из файла
Задание: Считать из входного файла строку символов; переписать ее в выходной...

Чтение строки из файла
Добрый День! Необходимо считать из файла в стуктуру: 4 Sam forn 2000 ...

Чтение строки из файла
Помогите пожалйста считать строку из файла #include &quot;stdafx.h&quot;...

6
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,192
Завершенные тесты: 1
11.03.2014, 11:21 #2
Цитата Сообщение от maksis9n Посмотреть сообщение
как считать строку(-и) из файла без стринга?
А в массив символов можно?
0
alsav22
5438 / 4833 / 831
Регистрация: 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);
0
maksis9n
2 / 2 / 0
Регистрация: 02.01.2013
Сообщений: 50
11.03.2014, 11:24  [ТС] #4
Цитата Сообщение от zss Посмотреть сообщение
А в массив символов можно?
ну да,можно

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

подчеркивает ifstream
0
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,192
Завершенные тесты: 1
11.03.2014, 11:25 #5
Цитата Сообщение от maksis9n Посмотреть сообщение
подчеркивает ifstream
C++
1
#include <fstream>
0
maksis9n
2 / 2 / 0
Регистрация: 02.01.2013
Сообщений: 50
11.03.2014, 11:28  [ТС] #6
Цитата Сообщение от zss Посмотреть сообщение
#include <fstream>
я подключил уже,заработало
а как проверить что он правильно считывает? а то на экран ничего не выводит
0
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,192
Завершенные тесты: 1
11.03.2014, 20:05 #7
Поставьте после чтения точку останова и посмотрите значения переменных,
когда выполнение остановится в этой точке.
0
11.03.2014, 20:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2014, 20:05
Привет! Вот еще темы с решениями:

Чтение строки из файла
Нужно что бы строка которая вводится пользователем (Vvedite slova)считывалась...

Строки, чтение из файла
Пытаюсь написать программу по заданию Попытка не пытка, но мыслей нет

Чтение строки из файла
Как из вводного файла прочитать строку и присвоить её переменной? Заранее...

Чтение строки и файла
Программа для чтения строки и записи файла, пожалуйста помоите модуль сдать...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru