Трябва ли и при деклариране да използвам модела [u]име-на-
структура.име-на-променлива[/u]
(в този случай proba.p=3).
Вторият ми въпрос е как да заредя файл с разширение .c и да използвам
променливите вътре.(да ги променям, изтривам или просто извеждам)
Прочетох в учебника, но след като използвах начина, описан вътре, ми
даде грешки.
FILE* fp;
FILE* fopen(char *nam, char *mode);
Извиках fopen така:
fp=fopen(proba.c, w)
Пробвах и с кавички и всякак. Дава ми някакви грешки, а ако се опитам
да изпринтя някоя променлива от proba.c ми казва, че няма такава. В
учебника няма нищо за обработка на данни от файл.
Отностно втория ти въпрос:
В C/C++ когато отваряш и четеш файлове тяхното разширение и тип са
абсолютно без никакво значение. От гледната точка на програмата ти,
просто се четат некфи стрингове и байтове, който само ти можеш да
кажеш какво значат. Това, че отваряш .c файл въобще не означава, че
програмата ти разбира нещо от него. За нея е просто текст. Ако искаш
да вземеш стойности на променливи от .c файл по време на изпълнение
трябва да си направиш някакъв алгоритъм, който да parse-ва и
обработва
файла. Ако искаш да включиш променливи от външен файл по време на
компилиране можеш да ползваш #include "path/blabla/banan.h" примерно.
Отностно кавичките:
Когато имаш някфо слято име без кавички -> компилатора го възприема
като име на променлива или функция
Когато имаш нещо заградено с двойни кавички -> ... като стринг
Когато имаш буква заградена с единични кавички -> ... като буква
(ASCII кода й)
В твоя случай обаче w трябва да е заградено с двойни кавички, защото
има опция този аргумент да не е само една буква.
http://www.cplusplus.com/reference/clibrary/cstdio/fopen/