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

Считывание строки в символьный массив - C++

Восстановить пароль Регистрация
 
Destiner
2 / 2 / 1
Регистрация: 15.10.2012
Сообщений: 17
23.06.2013, 14:15     Считывание строки в символьный массив #1
1. Ввод из коммандной строки, число символов неизвестно.
2. Ввод из текстового файла, число символов неизвестно.
Например,
C++
1
2
3
4
5
6
7
8
int main(){
    char str[100];
    int length;
    ... //ввод строки в массив + узнать длину строки/последний элемент массива
    for (int i = 0 ; i < length ; i++) {
        cout << str[i];
    }
}
P. S. Необязательно считывать посимвольно, но обязательно узнать длину строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2013, 14:15     Считывание строки в символьный массив
Посмотрите здесь:

C++ Символьный массив
Символьный массив....(( C++
символьный массив C++
C++ Символьный массив
Символьный массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
23.06.2013, 14:24     Считывание строки в символьный массив #2
Так что ли?
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main() {
    char a[200];
    
    std::cin.getline( a, sizeof( a ) / sizeof( char ) );
    std::cout << a;
    
    return 0;
}
Destiner
2 / 2 / 1
Регистрация: 15.10.2012
Сообщений: 17
23.06.2013, 14:55  [ТС]     Считывание строки в символьный массив #3
Цитата Сообщение от coloc Посмотреть сообщение
Так что ли?
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main() {
    char a[200];
    
    std::cin.getline( a, sizeof( a ) / sizeof( char ) );
    std::cout << a;
    
    return 0;
}
Хорошо, но как теперь получить длину строки?
Хотя, конечно, для вывода это уже не нужно, но в дальнейшем может пригодиться.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
23.06.2013, 14:58     Считывание строки в символьный массив #4
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cstring>
 
int main() {
    char a[200];
    
    std::cin.getline( a, sizeof( a ) / sizeof( char ) );
    std::cout << a << std::endl << "size = " << strlen( a );
    
    return 0;
}
Destiner
2 / 2 / 1
Регистрация: 15.10.2012
Сообщений: 17
23.06.2013, 15:11  [ТС]     Считывание строки в символьный массив #5
Цитата Сообщение от coloc Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cstring>
 
int main() {
    char a[200];
    
    std::cin.getline( a, sizeof( a ) / sizeof( char ) );
    std::cout << a << std::endl << "size = " << strlen( a );
    
    return 0;
}
Да, работает как надо. Проблема решена.
Yandex
Объявления
23.06.2013, 15:11     Считывание строки в символьный массив
Ответ Создать тему
Опции темы

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