Не работает ввод строки с клавиатуры - C (СИ)
Формулировка задачи:
Здравствуйте. Пишу програамку. Вот клочек который должен выполнять ввод строки с клавиатуры и счтать сколько символов ввели. почемут не работает. компилится но послее ввода строки выдает ошибку и виснет. В чем ошибка?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <malloc.h>
void main()
{
char q[256];
int n=7,i,j,Q;
char *s,ch;
printf("vvedite login\n");
printf("login-");
scanf("%s",&q);
Q=strlen(q);
printf("%s\n",Q);
getch;
}Решение задачи: «Не работает ввод строки с клавиатуры»
textual
Листинг программы
#include <iostream>
#include <string>
std::string str;
int main()
{
setlocale(LC_ALL, "Rus"); //Даёт возможность использовать русский
std::string str;
std::cout << "Введите логин: ";
std::cin >> str;
std::cout << "Длина логина " << str.size() << " символов."<< std::endl;
system("pause");
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с потоками ввода-вывода и строками
- Объявление переменной типа std::string с именем str
- Ввод логина с клавиатуры
- Проверка корректности ввода логина (в данном случае не проверяется на корректность, возможно, что в дальнейшем будет добавлена такая проверка)
- Вывод сообщения о длине введенного логина
- Ожидание нажатия клавиши для выхода из программы
- Завершение программы