0 / 0 / 1
Регистрация: 27.03.2008
Сообщений: 75
|
|
1 | |
Нужно записать массив в файл, а потом из этого файла считать этот же массив30.01.2009, 12:56. Показов 9665. Ответов 12
Метки нет (Все метки)
Помогите, пожалуйста, никогда с файлами делов не имела.
Нужно записать массив в файл, а потом из этого файла считать этот же массив. Как это сделать на чистом Си?
0
|
30.01.2009, 12:56 | |
Ответы с готовыми решениями:
12
Записать массив строк в файл, а потом получить такой же массив из этого файла Записать в двоичный файл массив значений функции, считать из этого файла кааждое 5-е значение Считать из этого файла какой-либо символ и записать этот символ в новый файл Считать массив из файла, удалить оттуда 0, новый массив записать в файл |
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
30.01.2009, 13:09 | 2 | ||||||||||
vecprint.c
0
|
0 / 0 / 1
Регистрация: 27.03.2008
Сообщений: 75
|
||||||
30.01.2009, 13:25 [ТС] | 3 | |||||
подскажите, что у меня здесь не правильно? Компилируется, но в файл ничего не записывает...
0
|
0 / 0 / 1
Регистрация: 27.03.2008
Сообщений: 75
|
|||||||||||
30.01.2009, 14:54 [ТС] | 5 | ||||||||||
тогда в файле вот такое вот сплошные квадратики - это нормально?
Добавлено через 4 минуты 33 секунды и когда добавляю в конец
Добавлено через 4 минуты 14 секунд а когда так - то работает....
Добавлено через 19 минут 1 секунду и еще, подскажите, пожалуйста, как можно сделать так, чтобы нумерация в моем массиве a[k] простых чисел начиналась не с 0, а с 1?? т.е., что a[1]=2, a[2]=3 и т.д.? Буду очень благодарна!
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
30.01.2009, 16:24 | 6 | |||||
vecprint.c
массива b не наблюдаю, потому всё правильно пишет так то, если элементы правильно пишутся Код
for (i = 1; i <= n; i++); printf("%d\n", a[i-1]); иначе массив надо создавать на один элемент больше, если нулевой будет болтаться
0
|
0 / 0 / 1
Регистрация: 27.03.2008
Сообщений: 75
|
||||||
30.01.2009, 16:29 [ТС] | 7 | |||||
а что здесь не правильно? Т.е. почему нельзя сделать как отдельную функцию создание и запись в файл, а потом его читать...или я опять чего-то не понимаю?
0
|
43 / 39 / 12
Регистрация: 05.01.2009
Сообщений: 394
|
|
30.01.2009, 16:42 | 8 |
в функцию CreateFile нужно передавать теперь указатель на файл.
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
30.01.2009, 16:45 | 9 |
большие функции нельзя делать, это равно тому, если вообще функций не делать а писать в одной функции всю программу, и глобальные переменные тоже нельзя делать, т.к. функции начинают от них зависеть и их невозможно переносить в новые программы из-за этого
если программа выдаст Error open file, не сможешь определить какой именно, вместо первой ошибки Error create file, потому что в случае отсутствия файла она его создаст тут напрашивается глобальный указатель a, но я уже сказал - создаёшь файл - создаёшь вектор - заполняеш вектор простыми числами - пишешь вектор в файл - выводишь вектор на экран вместо вот этого Код
for(k = 0; k < n; k++) printf("%d ", a[k]); // Печатаем простое число Код
vecprint(a, n, stdout);
0
|
0 / 0 / 1
Регистрация: 27.03.2008
Сообщений: 75
|
||||||
30.01.2009, 17:00 [ТС] | 10 | |||||
accept, дело в том, что мне нужно многократно в разных частях программы использовать простые числа (либо первые 10 чисел из моего массива, который я сформировала, либо 55 чисел и т.д.) именно поэтому, нужно было создать файл с максимальным числом простых, которые мне могут понадобиться, чтобы не генерировать каждый раз массивы различной длины заново.
вроде это выполнено? "- создаёшь файл - создаёшь вектор - заполняеш вектор простыми числами - пишешь вектор в файл - выводишь вектор на экран" только мне не нужно выводить эти числа на экран - мне нужно использовать их в других функциях и неоднократно. Не знаю, как это по другому сделать....Может можно вообще обойтись без файла? А просто сгенерировать массив и им напрямую пользоваться? Но я не знаю как запрограммировать, чтобы моя функция вернула мне массив?? Чтобы я могла потом им пользоваться? Может подскажете? Пожалуйста!
Добавлено через 3 минуты 31 секунду Фенрир, как раз функция CreateFile свою работу делает, создает файл с простыми числами..
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||||||||||||
30.01.2009, 17:22 | 11 | |||||||||||||||
a должна быть массивом, а n не больше количества элементов в нём
- создаёшь вектор - заполняешь вектор простыми числами (передаёшь его и его длину в функцию, если она его заполнила, возвращает его адрес обратно, если нет NULL) - используешь вектор по той же технологии - освобождаешь вектор из памяти veccreat.c
и маленький вектор в который потом читаешь нужный набор из базового, маленький вектор передаёшь в функции, если нельзя передать там кусок базового (это делается через начало базового и длину до которой читать) освобождать нужно всё что было выделено Добавлено через 10 минут 36 секунд пример записи векторов
0
|
0 / 0 / 1
Регистрация: 27.03.2008
Сообщений: 75
|
||||||
30.01.2009, 17:41 [ТС] | 12 | |||||
а - и есть массив, n - максимальное количество элементов в нем.
Зачем вектора создавать? Мне просто нужен один массив, а я по желанию буду просто использовать не все его элементы....вопрос в том, КАК СДЕЛАТЬ ТАК, ЧТОБЫ ФУНКЦИЯ ВЕРНУЛА МАССИВ? "если она его заполнила, возвращает его адрес обратно, если нет NULL". Адрес массива...НО КАК ЕГО ПОТОМ ИСПОЛЬЗОВАТЬ??? Вот функция.
Добавлено через 12 минут 56 секунд я прошу прощения, за то, что ужасно туплю здесь сейчас. Я все поняла наконец-то accept, СПАСИБО ОГРОМНОЕ за помощь и терпение!
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
30.01.2009, 18:05 | 13 |
да они почти все указатель на массив возвращают, кроме vecfree
Код
unsigned *generation_zadannogo_colichestva_prostyx(unsigned n);
0
|
30.01.2009, 18:05 | |
30.01.2009, 18:05 | |
Помогаю со студенческими работами здесь
13
Сохранить массив в файл а потом считать его из файла Как из массива записать объекты в файл, а потом из файла в другой массив ? Считать массив с файла и преобразованный записать в файл Считать массив из файла, отсортировать и записать в файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |