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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив со сдивгом http://www.cyberforum.ru/cpp-beginners/thread1116088.html
Ребята, помогите пожалуйста! Дан вещественный массив А и натуральное число k. Если количество положительных элементов в массиве А больше k, то сдвинуть циклически все элементы массива на одну позицию вправо, в противном случае – на одну позицию влево.
C++ Если елементы массива соседние одинаковы то один из них заменяется на 0 а другой увеличиваетмя на один #include "stdafx.h" #include<string> #include <cmath> #include <iostream> #include<locale> using namespace std; const int max_size=255; int a,b,rl1={0},i,j,rl2={0},c,k,rl_chislo,kol=0; string rl3; int main() { http://www.cyberforum.ru/cpp-beginners/thread1116050.html
C++ Дан двухмерный массив целых чисел. Определить сумму элементов больших 30
Дан двухмерный массив целых чисел. Определить сумму элементов больших 30
C++ Получить новую матрицу, переставляя блоки размера nxn, используя динамические массивы
Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размера nxn.
C++ Обработка динамических массивов http://www.cyberforum.ru/cpp-beginners/thread1116019.html
Характеристикой столбца целочисленной матрицы назо*вем сумму модулей его отрицательных нечетных эле*ментов. Переставляя столбцы заданной матрицы, распо*ложить их в соответствии с ростом характеристик.
C++ Перегруженные функции. Возвращаемый тип Добро всем времени суток. Изучаю Р.Лаворе книгу и наткнулся на непонятныий мне аспект. Вот есть код: String(char s) { strcpy_s(str, s); } String operator+=(String ss) { if (strlen(str) + strlen(ss.str) < MAX) { подробнее

Показать сообщение отдельно
maksis9n
2 / 2 / 0
Регистрация: 02.01.2013
Сообщений: 50

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

11.03.2014, 10:42. Просмотров 392. Ответов 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();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru