Проблема с массивом строк
- Войдите на сайт для отправки комментариев
Ср, 15/03/2017 - 03:46
Вроде простая задача. Считать с флэшики 128 байт и запихать в массив из 8 строк по 16 символов.
Не придумал ничего умнее, но и это не работатет
#include <SD.h> // библиотека для работы с флешкой
char* Name[8]; //Имена
void setup() {
byte Tmp[128];
char tmp[16];
if (SD.begin(Pin_CS)) {
// Чтение данных из файла
FileInfo = SD.open("info.rec", FILE_WRITE);
if (FileInfo) {
for (int i = 0; i < 128; i++) {
Tmp[i] = FileInfo.read();
}
for (int j = 0; j < 8; j++) {
for (int i = 0; i < 16; i++) {
tmp[i] = char(Tmp[j * 16 + i]);
}
Name[j] = tmp;
}
}
}
}
void loop()
{
}
В результате во всех элементах массива Name записаны последние 16 символов. В чем косяк?
Чой то я закрывающихся скобок лишку наставил. Копировал из разных мест. Скетч очень большой.
1. http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii - если хотите, чтобы кто-то прочитал.
В результате во всех элементах массива Name записаны последние 16 символов. В чем косяк?
А чего Вы хотели, если у Вас все элементы массива Name указывают на одну и ту же область памяти (на масив Tmp)?