char x[30];
char* y[5];
int count = 0;
ifstream i("test.txt", std::ifstream::binary);
x считывает 30 байтов файла из буфера ifstream. y хранит случайную строку.Копирование нулей в массив символов также очищает другой массив символов
while (i.read(x, sizeof(x)) {
y[count] = x;
printf("%s\n", y[0]); //This prints "test\n"
bzero(x, sizeof(x)); //Clear the contents of array x
printf("%s\n", y[0]); //This prints "\n"
count++
}
В этом примере предположим, что файл содержит меньше или равен 150 байтам данных.
Почему это продолжается? Я наблюдаю такое же поведение, даже если я использую memset. Как это исправить?
Как связаны 'x' и' y' (или 'y [0]')? –
Массив y должен хранить байты, считанные из файла, используя x. В конце итераций я хочу, чтобы y содержала сохраненные значения. – ExtremistEnigma
Не могли бы вы предоставить поддающийся проверке (компилируемый) пример? – EOF