Member 13961615 Ответов: 2

Почему эта программа на C++ не работает?


То, что я хочу в своей программе, это вместо
cout << "Text";

который печатает: текст, я хочу другую команду, такую как cout <<, которая будет печатать каждый символ в качестве ярлыка вместо
char str[] = "Hello world!";
    int i = 0;
    
    while (str [i] != '\0')
    {
        cout << str[i++] << ' ';
        cout.flush();
        usleep (100000);
        cout << ' ';
    }

Таким образом, я могу установить str в переменную и легко получить доступ или какой-то другой более короткий способ сделать это.

- Спасибо!

Что я уже пробовал:

#include <unistd.h>
#include <iostream>
#include <string>
using namespace std;

int main ()
{
    char str[] = "Hello world!";
    int i = 0;
    
    while (str [i] != '\0')
    {
        cout << str[i++] << ' ';
        cout.flush();
        usleep (100000);
        cout << ' ';
    }
    return 0;
}
и
int main ()
{
    
    char str[] = "Hello world!";
    int i = 0;
    
    while (str [i] != '\0')
    {
        cout << str[i++] << ' ';
        cout.flush();
        usleep (100000);
        cout << ' ';
    }
    str [] = "Hello world2!";
    return 0;
}
Этот возвращает ошибку.

Dave Kreskowiak

Итак, вы собирались рассказать кому-нибудь, что это за сообщение об ошибке? Вы знаете, что самая важная часть информации существует при устранении неполадок.

И вы можете объяснить, что вы подразумеваете под "распечаткой каждого символа в качестве ярлыка", потому что это ничего не значит.

Afzaal Ahmad Zeeshan

Как кратчайший путь? Что? Это довольно запутанно.

[no name]

Покажите нам пример входа и ожидаемого выхода.

2 Ответов

Рейтинг:
0

Patrice T

C++ не динамически изменять размер массива при сохранении новых значений внутри.

char 
str[] = "Hello world!";
...
str[] = "Hello world2!";  // so this will not fit in actual array, 1 chat too long.


CPallini

Мой 5.

Patrice T

Спасибо

Рейтинг:
0

KarstenK

Вы используете тип wrog для своих операций. Используйте std::string вместо char[].


Member 13961615

во-первых, если я это сделаю, то получу ошибку. Кроме того, цель моей программы-распечатать каждый отдельный символ с небольшой паузой между ними.