Большое спасибо. Хоят с первым вопросом мне предстоит еще разобраться. Я думал что строкой char str[] создаеться переменная а указатель char * pstr = str; Все теперь окончательно разобрался и с первым вопросом. Спасибо большое!!!
Выдает я же объявил переменную как внешнюю...шо компилятору не нравится то p.s. проходим на информатике плюсы доисторические, когда пространства имен еще не было.
Ты переменную объявил в области видимости функции main, а используешь ее в square(), где она уже не видна. Перенеси ее в глобальную область видимости. И, кстати, если переменная внешняя, то она где-то в другом объектнике должна быть определена.
Код на си в блокноте? Издевательство. Если под винду, то Visual Studio. Уверен, под никсы тоже есть масса отличных редакторов.
Неудобно, когда много файлов в проекте и требуется перейти от вызова функции к ее объявлению или определению, либо увидеть возможные прототипы функции какой-нибудь. Для маленьких задач подойдет.
Eclipse На какой нибудь IDE под Си пиши, удобней т.к. она сразу в себя включает и средства отладки и подсветку кода и компиляцию исходного кода...
реально ли (если реально то как) использовать графические flash-елементы в С++ Builder? например flash button..
Нужен учитель C++ (на платной основе) через скайп, аську и т.п. прошу писать только тех кто может похвастаться созданием хороших и сложных программ lawyer(точка)sbw - скайп 2858семь7 - аська
Добрый день. Прошу помогите разобраться Пишу на Си хочу сделать следующее. Считывать из файла (.txt числа в каждой строке) в массив построчно. Вот что я наделал: для вывода на экран подходит. а вот в массив почему то записывается последняя строка. Code: char result[32]; q1=0; while(fgets(result, 32, file)) { res[q1] = (int)result; printf("%s%s", result, res[q1]); // Судя по этой строке все присваивается. q1++; } но вот пытаюсь выводить отдельно весь массив, Code: for(int i = 0; i < 8; i++) { printf("%s", res[i]);// выводит последнюю строку 8 раз, т.е. в массив записалось во все элементы последняя строка } оказывается что во всех элементах последняя строка. Помогите пожалуйста, как это исправить, явно я не правильно организовал что то.
cel1697i845, я так понимаю, что res у тебя объявлен так (более правильный вариант): Code: char *res[8]; или так (также правильный вариант): Code: int res[8]; Тогда в этой строчке: Ты присваиваешь res[q1] указатель на result. Вот по этой причине у тебя 8 раз выводится одна и таже строка, так как все 8 елементов массива res указывают на result, а в нем записана последняя считаная строка. Чтобы все записывалось правильно, смотри в сторону функции strdup.
вопрос тупиковый конечно, когда инициализирую объект типом fstream( ios::in | ios:ut ), программа работает с логическими ошибками, когда же делаю все тоже самое через ofstream и ifstream все прекрасно работает. Может я не учитываю тонкостей каких нибудь?
Помогите пожалуйста, хочу записать list с последующим чтением из файла. Пишет в файл всего16 байт белиберды, даже если ставил в цикл 100000 l.push_back(i); Code: #include <iostream> #include <list> #include <fstream> #include <stdlib.h> using namespace std; class List { public: list <int> l; List() { /* l.push_back(3); l.push_back(6); fstream file("file.dat",ios::binary | ios::out); file.write((char*)&l, sizeof(l)); */ fstream file("file.dat",ios::binary | ios::in); file.read((char*)&l,sizeof (l)); file.close(); } void print() { list<int>::iterator pos; for(pos = l.begin();pos!=l.end();pos++) { cout << *pos << endl; } } }; void main() { List ls; ls.print(); }
А чего ты этим кодом добиться хочешь? Как минимум std::list - это не непрерывная структура, в отличие от вектора, и в него так данные читать, как читаешь ты, нельзя.