Я делаю программу, и часть ее цели заключается в том, что она должна иметь возможность разделить ввод на отдельные строки на основе символов. Например,Сбой программы через 5 секунд после ввода?
game.Lighting разделяется на «игру» и «Освещение» game.Properties.Hey разделяется на «игры» и «Свойства» и «Эй» В принципе, это просто убирает. и разделяет их на разные строки.
Однако, когда я входной то, что я хочу, чтобы строка быть, она работает, и делает это совершенно нормально, а затем выходит из строя около 5 секунд с ошибкой «Струнный ул была повреждена»
Это мой код.
#include "stdafx.h"
#include <string.h>
#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
char str[2] = ".";
cin >> str;
char * pch;
printf("Splitting string \"%s\" into tokens:\n", str);
pch = strtok(str, ".");
while (pch != NULL)
{
printf("Getting %s then ", pch);
pch = strtok(NULL, ".");
}
Sleep(5000);
return 0;
}
Я изменил char str [] = "." to char str [2] = "."
Однако, сейчас я получаю сообщение об ошибке (это после того как программа была составлена и побежал, то он выходит из строя) «ул Строка была повреждена»
Вы забыли поставить свое освещение на орбиту. –
Что @LightnessRacesinOrbit – JStep