Мусор в конце строки после присваивания

239
09 мая 2017, 06:12

Пытаюсь разбить файл на 20 частей посимвольно. Первый массив Pack - это массив, в котором копируется текст с определенного символа, чтобы в дальнейшем можно было обрезать лишнее и получилась бы полноценная часть, что и делается во втором массиве NPack. Проблема лишь в том, что во втором массиве в каждую строку добавляется немного мусора, чаще всего это 4 символа ээээ

//Выделяем память под каждую часть для первого массива
char **Pack = new char*[20];
for (int i = 0; i<20; i++) Pack[i] = new char[size];
for (int i = 0; i<20; i++){
    strcpy(Pack[i] - col*i, fileData);
    cout << Pack[i] << endl << endl << endl;
}
//Выделяем память под каждую часть для второго массива
char **NPack = new char*[20];
for (int i = 0; i<20; i++) NPack[i] = new char[col];
for (int j = 0; j<20; j++){
    if (j == 19){
        col += ost;
    }
    for (int i = 0; i<col; i++){
        NPack[j][i] = Pack[j][i];
    }
    cout << NPack[j] << endl<<endl;
}
free(NPack);
free(Pack);
Answer 1
for (int j = 0; j<20; j++){
    if (j == 19){
        col += ost;
    }
    for (int i = 0; i<col; i++){
        NPack[j][i] = Pack[j][i];
    }
    NPack[j][col] = '\0';
    cout << NPack[j] << endl<<endl;
}
READ ALSO
Вывод массива с помощью рекурсии

Вывод массива с помощью рекурсии

Необходимо вывести элементы массива в обратном порядке, при этом передать в функцию последний индекс массиваЧто я делаю не так? Вот мой код...

1058
CreateProcess() параметры командной строки

CreateProcess() параметры командной строки

Как сделать так, чтобы при создании нового процесса, с помощью CreateProcess(), в него передать char* argv[]

279
Не могу получит ключ с QMap

Не могу получит ключ с QMap

Сравниваю containce в QMap показывает ключ есть:

256
Мигание картинки на canvas

Мигание картинки на canvas

Добрый день, в процессе написании игры столкнулся с такой проблемой

349