|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.11.2016, 13:05 | #1 |
Регистрация: 04.05.2016
Сообщений: 5
|
перевыделение памяти и запись в массив
Записать предложения из файла, так что бы был список предложений(т.е. одно предложение на одной строчке в массиве). Предложение может начинается из любой позиции в файле, если места мало то через реалок перевыделить память.
что в фсканф, что в фрид пишет ошибку: выражение должно иметь тип указателя на объект, я не знаю как это исправить, подскажите пожалуйста. И как перевыделить память для двумерного массива, если для одномерного то можно ln=(MEMORY)realloc(ln,200*(sizeof(c har));, то для двумерного я тоже ,к сожалению, не понимаю как. #include <stdio.h> #include <stdlib.h> #include <locale.h> typedef struct { char **st; } MEMORY; int main() { setlocale(LC_ALL, "RUS"); FILE *in,*out; if (!(in = fopen("C:\\Users\\nikita\\Desktop\\ source.txt", "r"))) { fprintf(stderr, "Error opening file"); getch(); exit(1); } if (!(out = fopen("C:\\Users\\nikita\\Desktop\\ source.txt", "r"))) { fprintf(stderr, "Error opening file"); getch(); exit(1); } int c, row=100,column=100,i; MEMORY ln; fseek(in, 0, SEEK_END); // устанавливаем позицию в конец файла long lSize = ftell(in); ln.st = (char **)malloc(row*sizeof(char *)); for (i = 0; i<row; i++) ln.st[i] = (char *)malloc(column*sizeof(char)); int i = 0; while ((c = fgetc(in)) != EOF) { /* size_t result = fread(**ln[i].st, 1, lSize, in); // считываем файл в буфер if (result != lSize) { fputs("Ошибка чтения", stderr); exit(3); } */ /*if (c !=' ') { if (c != '.') { i++; fscanf(in, "%s", *(ln[i].st)); } } */ } } |
23.11.2016, 14:00 | #2 |
Регистрация: 04.05.2016
Сообщений: 5
|
нашел ошибку fscanf(in, "%s", ln.st[i]);, но все таки как использовать реалок и записать из массива в файл если for (i = 0; i < column;i++)
fprintf(out, "%s", ln.st[i]); не работает, записывает мусор Последний раз редактировалось Trakker; 23.11.2016 в 14:03. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pascal Вывод массива указателей на запись и очистка динамической памяти | Решетова Алена | Помощь студентам | 9 | 19.03.2013 18:51 |
Массив в динамической памяти (С++) | druger | Помощь студентам | 0 | 05.12.2011 10:13 |
Запись координат в массив в реал тайм, Как записать координаты в массив | Dark19 | Visual C++ | 2 | 21.06.2011 18:45 |
Обращение к ячейкам памяти HDD, чтение и запись | Silver-nic | Win Api | 8 | 08.09.2009 16:51 |
Импорт данных из памяти, прибавление к ним значение и запись | GRA1N | Помощь студентам | 5 | 26.07.2009 01:29 |