Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
EfimenkoFedor
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
1

Работа с файлом - код не работает

07.09.2013, 10:45. Просмотров 1053. Ответов 11
Метки нет (Все метки)

Здравствуйте.
Пишу на xCode
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main()
{
    FILE *f;
    
    f = fopen("text.txt", "w+");
    fprintf(f,"%i",10);
    
    int d,b;
    fscanf(f, "%i", &d);
    b=d+d;
    fclose(f);
    printf("%i", b);
    
    return 0;
}
Выводит 0
Подскажите, пожалуйста, где ошибка.

Еще не понимаю где создается файл text.txt
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 10:45
Ответы с готовыми решениями:

Работа с файлом (корректный код, некорректная работа программы)
Для записи и чтения файла использую разные функции. По одиночке они работают нормально. Вставляю...

работа с файлами. неправильно работает код
Здравствуйте, не получается удалить слово из текстового файла. Сначала с клавиатуры ввожу слова в...

Работа с указателями - код не работает в Visual Studio 2012
Нужно помощь, дан код программы с указателями. Когда пишу код в Visual 2012, то при выводе на экран...

Не работает работа с файлом
Подскажите что делать? Функция должна отвечать за чтение дерева из файла. #include &lt;conio.h&gt;...

Работа с файлом не работает
Задание Разработать командный файл для интерпретатора командной строки cmd os windows для решения...

11
lowercase
212 / 201 / 85
Регистрация: 09.05.2012
Сообщений: 494
07.09.2013, 11:19 2
подсказываю: вы записали "10" в файл. после этого действия указатель чтения/записи файла установлен после этой последовательности символов, т.е. там где информации нету еще.

Цитата Сообщение от EfimenkoFedor Посмотреть сообщение
Еще не понимаю где создается файл text.txt
в вашем случае в том же каталоге, что и исполняющий файл.
1
EfimenkoFedor
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
07.09.2013, 14:48  [ТС] 3
С указателем исправил, все работает, спасибо.

а вот файл так и не нашел
нашел папку с проектом, а в нем только first.1 и main.c

Добавлено через 3 часа 22 минуты
C
1
fopen("/Users/fedor/Documents/xcode/first/first/test.txt", "r")
вот так работает, но это не очень удобно прописывать полный путь
0
lowercase
212 / 201 / 85
Регистрация: 09.05.2012
Сообщений: 494
07.09.2013, 16:44 4
по-умолчанию в качестве рабочей директории программы принимается директория в которой находится исполняемый файл программы.
то есть директория с исполняемым файлом какбы != директория проекта(зачастую). но вообще смотря как компилировать. обычно среда создает папки типа Debug или Release в которых уже находятся бинарники.
1
07.09.2013, 16:44
EfimenkoFedor
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
07.09.2013, 16:56  [ТС] 5
Спасибо.
Скажите, пожалуйста, как можно прочитать из файла число из 30 цифр?
Я так понял, что типа данных такого нет
0
Nameless One
Эксперт С++
5795 / 3444 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
07.09.2013, 20:05 6
EfimenkoFedor, считываей его в строку.
1
EfimenkoFedor
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
07.09.2013, 20:11  [ТС] 7
Ну да, это понятно, а если мне надо сложить два таких числа? Как-то разделить число на два таких числа что ли
0
Nameless One
Эксперт С++
5795 / 3444 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
07.09.2013, 20:16 8
EfimenkoFedor, тогда нужно воспользоваться т.н. «длинной арифметикой» (Arbitrary-precision arithmetic). Загугли это.

Ты можешь воспользоваться какой-нибудь готовой библиотекой (gmp, например) либо реализовать такие вычисления сам (fasked, ЕМНИП, на форуме это делал), либо воспользоваться языками, в которые встроена поддержка «больших чисел».
1
EfimenkoFedor
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
07.09.2013, 20:43  [ТС] 9
Вот я скачал эту библиотеку (gmp), у меня есть папка gmp-5.1.2 в ней куча файлов, куда их кидать?
Гуглил по "подключение сторонних библиотек в xcode" нашел http://habrahabr.ru/qa/13056/ но особо ничего не понял
0
Nameless One
Эксперт С++
5795 / 3444 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
07.09.2013, 20:55 10
Не знаю, как это делается в случае Xcode, а я просто установил libgmp-dev через пакетный менеджер и прописал в CMakeLists.txt (target_link_libraries) дополнительную библиотеку (gmp) для бинарника, и всё заработало. Если же комплировать вручную, то нужно добавлять библиотеку с помощью ключа -lgmp при линковке объектных файлов.

Ты, как я понял, скачал архив с исходниками. Сначала тебе нужно их скомпилировать и установить. Необходимые инструкции обычно находятся в файлах README и INSTALL. После установки нужно добавить -lgmp к опциям линкёра в настройках проекта.

Попробуй погуглить по ключевым словам «libgmp xcode».
0
EfimenkoFedor
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
07.09.2013, 22:29  [ТС] 11
Видимо, сам я никогда не разберусь, вот, нашел вроде бы готовые файлы.
(прикрепил)
4 файла с названием gmp закинул в папку с проектом

Код
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include <stdlib.h>
#include "gmp.h"
 
int main(void)
{
    mpz_t x;
    mpz_t y;
    mpz_t result;
    
    mpz_init(x);
    mpz_init(y);
    mpz_init(result);
    
    mpz_set_str(x, "7612058254738945", 10);
    mpz_set_str(y, "9263591128439081", 10);
    
    mpz_mul(result, x, y);
    gmp_printf("\n    %Zd\n*\n    %Zd\n--------------------\n%Zd\n\n", x, y, result);
    
    /* free used memory */
    mpz_clear(x);
    mpz_clear(y);
    mpz_clear(result);
    return EXIT_SUCCESS;
}
Пример из википедии
Вроде ничего не подчеркивает, но после того как нажал run вылезает куча ошибок
0
Миниатюры
Работа с файлом - код не работает   Работа с файлом - код не работает  
Вложения
Тип файла: zip gmp-dynamic-vc-4.1.2.zip (793.5 Кб, 2 просмотров)
Nameless One
Эксперт С++
5795 / 3444 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
08.09.2013, 05:46 12
Цитата Сообщение от EfimenkoFedor Посмотреть сообщение
4 файла с названием gmp закинул в папку с проектом
Не нужно так делать (вообще, судя по всему, в архиве, который ты скинул, файлы для винды).

Что тебе нужно сделать:
Цитата Сообщение от Nameless One Посмотреть сообщение
Сначала тебе нужно их скомпилировать и установить. Необходимые инструкции обычно находятся в файлах README и INSTALL. После установки нужно добавить -lgmp к опциям линкёра в настройках проекта.
Ничего, повторюсь, ничего в папку с проектом тебе копировать не нужно.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
08.09.2013, 05:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2013, 05:46

Работа с текстовым файлом (html код)
Задача тривиальная но её решения не знаю. Я выкачиваю страницу с определённого ресурса, а после...

Работа с файлом, не работает внутренний цикл
def get_ready(f_var, st_am, text): if text: with open(f_var, 'a') as f: ...

Функция MapAndLoad() работает с dll-файлом, не работает с exe-файлом
Доброго времени суток. Объясните, почему программа #include &lt;windows.h&gt; #include &lt;imagehlp.h&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru