Błąd przy zapisie do tablicy 2 wymiarowej [c++]

#include "stdafx.h"
#include <Windows.h>
#include <iostream> 

using namespace std;




int _tmain(int argc, _TCHAR* argv[])
{
	char* tablica[10];
	char** linijka;
	
	linijka=tablica;
	for (int i=0;i<10;i++)
	{
		linijka[i]= new char[80];
		linijka[i] ="zwyczajny przykladowy tekst";
// linijka[i][8] = 'a';
			
		cout << linijka[i][8] << endl; 
		

	}

	system ("pause");
	return 0;
}

Gdzie tutaj popełniłem błąd, ponieważ nie mogę zapisać jakiejkolwiek wartości w tej tablicy - linijka w komentarzu (wyrzuca błąd który zapisałem poniżej) a odczytanie w następnej linijce działa bez problemu 

 

First-chance exception at 0x010C7B97 in Zadanie_48.exe: 0xC0000005: Access violation writing location 0x010CCC6C.

 

If there is a handler for this exception, the program may be safely continued.

:arrow: http://gynvael.coldwind.pl/?id=408

linijka[i]= new char[80];
		linijka[i] ="zwyczajny przykladowy tekst";

Najpierw alokujesz nowy blok pamięci i przypisujesz wskaźnik do niego elementowi tablicy.

Ale potem do tego samego elementu tablicy przypisujesz wskaźnik do stałego napisu; nie masz już wskaźnika do zaalokowanego bufora.

Dalej próbujesz wpisać znak do tego stałego napisu, co powoduje błąd, bo ten napis znajduje się w sekcji tylko do odczytu.

Jeśli chcesz skopiować napis do bufora, powinieneś użyć funkcji strncpy.

Albo używaj std::string zamiast bawić się wskaźnikami.