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

Считать каждый второй символ из файла - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
dogik20
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 12
24.03.2013, 02:53     Считать каждый второй символ из файла #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    char text[200];
    char temp[200];
    ifstream fin("result.txt");
 
     for(int i=0;!fin.eof();i++)
     {
         fin.getline(text,200);
     }
     for(int i=0;i<sizeof(text);i++)
     {
        if(i%2==0)
          temp=strncat(text[i],i);
     }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2013, 02:53     Считать каждый второй символ из файла
Посмотрите здесь:

C++ Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
C++ Считать из этого файла какой-либо символ и записать этот символ в новый файл
C++ [C++] в строке символов заменить каждый второй символ s на f
Преобразовать строку, удалив каждый символ * и удвоив каждый символ, отличный от * C++
Считать последний символ файла. Записать символ в конец файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
24.03.2013, 03:35     Считать каждый второй символ из файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void main( void )
{
    fstream inputFile("F1.txt", ios_base::in);
 
    while( !inputFile.eof() )
    {   
        static int i=-2; 
        unsigned char tmp;
        inputFile.seekg(i+=2, ios_base::beg) >> tmp;
        if( inputFile.eof() ){ break; }
        else{ cout << tmp << " "; }
    }
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.03.2013, 03:40     Считать каждый второй символ из файла #3
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
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    
    char text[200];
    char temp[200];
    ifstream fin("result.txt");
 
    char ch;
    int i;
    for (i = 0; i < 200; ++i)
    {
        fin.get(ch);
        fin.get(ch);
        if (!fin.eof()) text[i] = ch;
        else break;
    }
    text[i] = '\0';     
    
    cout << text << endl;
    return 0;
}
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
24.03.2013, 03:42     Считать каждый второй символ из файла #4
Цитата Сообщение от UnsKneD Посмотреть сообщение
C++
1
static int i=-2;
Вместо -2, поставьте -1.
dogik20
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 12
24.03.2013, 03:43  [ТС]     Считать каждый второй символ из файла #5
Цитата Сообщение от UnsKneD Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void main( void )
{
    fstream inputFile("F1.txt", ios_base::in);
 
    while( !inputFile.eof() )
    {   
        static int i=-2; 
        unsigned char tmp;
        inputFile.seekg(i+=2, ios_base::beg) >> tmp;
        if( inputFile.eof() ){ break; }
        else{ cout << tmp << " "; }
    }
}
Можна без использивания Библиотеки Algoritm?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
24.03.2013, 04:04     Считать каждый второй символ из файла #6
Цитата Сообщение от dogik20 Посмотреть сообщение
Можна без использивания Библиотеки Algoritm?
там её и нет.
А здесь есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iterator>
 
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs) return 1;
    ifs >> std::noskipws;
    bool yes = false;
    std::copy_if(std::istream_iterator<char>(ifs), std::istream_iterator<char>(),
        std::ostream_iterator<char> (std::cout), [&yes](char) { return yes ^= 1; } );
}
Цитата Сообщение от UnsKneD Посмотреть сообщение
void main( void )
нехорошо. По стандарту int main().
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
24.03.2013, 04:12     Считать каждый второй символ из файла #7
Цитата Сообщение от dogik20 Посмотреть сообщение
Можна без использивания Библиотеки Algoritm?
Да откуда там он взялся же?
C++
1
2
#include <iostream>
#include <fstream>
и больше ничего.

Цитата Сообщение от MrGluck Посмотреть сообщение
нехорошо. По стандарту int main().
Да как бы он мне там и не нужен, я же не собираюсь из неё ничего передавать.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
24.03.2013, 04:17     Считать каждый второй символ из файла #8
Цитата Сообщение от UnsKneD Посмотреть сообщение
Да как бы он мне там и не нужен, я же не собираюсь из неё ничего передавать.
но вы же собираетесь писать программы?
По стандарту полагается писать int main, нормальные компиляторы void main не скомпилируют.
UnsKneD
24.03.2013, 04:25
  #9

Не по теме:

MrGluck, нуу.. даже такой "гигант" как MSVC это компилирует...
Можно подробнее про нормальные компиляторы?

MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
24.03.2013, 04:53     Считать каждый второй символ из файла #10
Цитата Сообщение от UnsKneD Посмотреть сообщение
гигант
Цитата Сообщение от MrGluck Посмотреть сообщение
нормальные компиляторы void main не скомпилируют
майкрософт чихал на стандарты.
3.6.1 Main function
2) An implementation shall not predefine the main function. This function shall not be overloaded. It shall
have a return type of type int, but otherwise its type is implementation-defined. All implementations shall
allow both of the following definitions of main:
int main() { /* ... */ }
and
int main(int argc, char* argv[]) { /* ... */ }
UnsKneD
24.03.2013, 05:17
  #11

Не по теме:

MrGluck, именно поэтому "гигант".
p.s. я уже прочёл немного о стандартах.

MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
24.03.2013, 05:38     Считать каждый второй символ из файла #12
UnsKneD, а надо читать не о, а их.

И не понятно, как связано
Цитата Сообщение от UnsKneD Посмотреть сообщение
именно поэтому "гигант"
и неуважительное отношение к стандартам программирования. И что значит это ваше "гигант"?

Добавлено через 3 минуты
Для ТС:
тот же алгоритм, что я писал выше, но без использования функций STL
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <fstream>
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs) return 1;
    int x;
    for (bool yes = true; ifs >> x; yes ^= 1)
        if (yes) std::cout << x << " ";
}
UnsKneD
24.03.2013, 05:40
  #13

Не по теме:

MrGluck, на парах нам втирают что это лучшая среда и т.д. и т.п.поэтому он в кавычках...
Почему это оно не уважительное?

MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
24.03.2013, 05:55     Считать каждый второй символ из файла #14
Цитата Сообщение от UnsKneD Посмотреть сообщение
Почему это оно не уважительное?
Потому что void main
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
24.03.2013, 05:57     Считать каждый второй символ из файла #15
MrGluck, да ладно? Так пишут даже в некоторых книгах по C++, вот это не уважительное, а от туда и мои ошибки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2013, 06:21     Считать каждый второй символ из файла
Еще ссылки по теме:

C++ Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
C++ Удалить из первой последовательности каждый символ, принадлежащий и второй
Как поэлементно считать текст с файла с помощью fstream, и сохранить каждый символ в массив? C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
24.03.2013, 06:21     Считать каждый второй символ из файла #16
Цитата Сообщение от UnsKneD Посмотреть сообщение
MrGluck, да ладно? Так пишут даже в некоторых книгах по C++, вот это не уважительное, а от туда и мои ошибки.
Некоторые книги издавались до принятия стандарта, что нельзя сказать о последних версиях студии
Yandex
Объявления
24.03.2013, 06:21     Считать каждый второй символ из файла
Ответ Создать тему
Опции темы

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