Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 December 12

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
max.gacrux
я узнаю размер файла, затем мне необходимо разбить его по порциям, затем мне их надо считать. хочу добавить "\n" в текст, чтобы затем при помощи getline получить порцию
Ну вот
источник

m

max.gacrux in IT KPI C/C++ ХВ (не UB)
криво написал, но надеюсь смысл понятен
источник

m

max.gacrux in IT KPI C/C++ ХВ (не UB)
и можно ли считать файл параллельно использую технологию openMP?
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
max.gacrux
я узнаю размер файла, затем мне необходимо разбить его по порциям, затем мне их надо считать. хочу добавить "\n" в текст, чтобы затем при помощи getline получить порцию
Но ведь можно просто определённое количество байт читать
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Без гетлайн и модификации файла
источник

m

max.gacrux in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
Но ведь можно просто определённое количество байт читать
да, но у меня текст со словами и есть вероятность того, что разделитель выпадет на слово и разделит его
источник

m

max.gacrux in IT KPI C/C++ ХВ (не UB)
я считаю слова в тексте параллельно
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
max.gacrux
я узнаю размер файла, затем мне необходимо разбить его по порциям, затем мне их надо считать. хочу добавить "\n" в текст, чтобы затем при помощи getline получить порцию
std::ifstream in("in.txt");
std::ofstream out("out.txt");

std::array<char, N+2> temp;

while(in.good() && !in.eof()) {
   in.getline(&temp[0], N * sizeof(char));
   
   temp[N] = '\n';
   temp[N+1] = '\0';

   out.write(temp.data(), std::size(temp) * sizeof(char));
}
источник

m

max.gacrux in IT KPI C/C++ ХВ (не UB)
для этого нужно подготовить порции для потоков
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
max.gacrux
для этого нужно подготовить порции для потоков
Читать файл мультитредом херовая идея
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
max.gacrux
да, но у меня текст со словами и есть вероятность того, что разделитель выпадет на слово и разделит его
Всего есть несколько вайтспейсов если мы говорим про ansi текст, там можно просто двигать оффсет чуть правее-левее чтобы оффсет попадал чётко на них
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Это банально выйдет в несколько раз производительнее
источник

m

max.gacrux in IT KPI C/C++ ХВ (не UB)
я не могу решить задачу около недели
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
max.gacrux
да, но у меня текст со словами и есть вероятность того, что разделитель выпадет на слово и разделит его
А вставка \n разве не может выпасть на середину слова?
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
А вставка \n разве не может выпасть на середину слова?
Он сам не знает чего хочет)
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Чувствую запах лабы
источник

m

max.gacrux in IT KPI C/C++ ХВ (не UB)
ДДз
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
Чувствую запах лабы
Лабы по OpenMP.
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Это надо законодательно запретить
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Как насилие над людьми
источник