Встретился с проблемой, что с точки зрения энтропии (как я понимаю) АВ не нравятся сложения строчек, и у меня появилась идея каким образом этого можно избежать. Саму идею приведу в виде пруф-оф-концепта: (вопрос закинул сюда а не в мыло так как думаю это больше по местной теме)
Вывод:
При модернизации кода забираем в поток всю "новую" недобитую си-строку и по первым "известным" буквам достаем из потока строку (или обрезаем поток). Прибег идейно к поиску по "известным" буквам так как не хватило понимания о том, что за байтики между этими переменными при инициализации последовательно (предполагаю кодировка типа массива). И я думаю (если это работает), что с помощью Volatile переменных можно наводить суеты..
Напишите, что знаете по поводу этих байтиков; может я переоткрыл велосипед и АВ спецы уже подобное отслеживают.
(При изменении добавил вывод файла)
C++:
#include <cstdio>
int main() {
char lower[] = "abcde";
char s2[] = "|secondString|";
char s3[] = "|thirdString|";
int lowerSize = sizeof(lower) / sizeof(char);
int s2_size = sizeof(s2) / sizeof(char);
int s3_size = sizeof(s3) / sizeof(char);
lower[lowerSize - 1] = ' '; // Это очень плохо. Никогда так не делайте.
s2[s2_size - 1] = ' ';
printf("lower: %s\n", lower);
return 0;
}
Код:
lower: abcde ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠|secondString| ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠|thirdString|
Напишите, что знаете по поводу этих байтиков; может я переоткрыл велосипед и АВ спецы уже подобное отслеживают.
(При изменении добавил вывод файла)