Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пространство имен System не существует! ошибка при обьявлении пространства имен 
V
    Опции темы
sanek1990
Дата 3.11.2009, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 19.10.2009

Репутация: нет
Всего: нет



Здравствуйте! изучаю С++ по книжке, вбиваю код 

Код

#include "stdafx.h" 

using namespace System; 
using namespace System::IO; 
using namespace System::Text; 



Компилятор ругается 
user posted image

Подскажите плиз что не так?
Ошибка Error C2871: System пространство имен с таким именем не существует
 

Это сообщение отредактировал(а) sanek1990 - 3.11.2009, 11:49
PM MAIL WWW Skype   Вверх
azesmcar
Дата 3.11.2009, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 2
Всего: 211



sanek1990

По какой это книжке ты так C++ изучаешь? Это не C++ а C++ .NET, проверь, правильно ли ты создал проект.
PM   Вверх
sanek1990
Дата 3.11.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 19.10.2009

Репутация: нет
Всего: нет



Книжка Б. Пахомов С\С++ Visual C++ 2008 для начинающих. Это даже не С++ вроде а С, потому как глава называется "Ввод и вывод С".
Вот полный листинг
 
Код

#include "stdafx.h"

using namespace System;
using namespace System::IO;
using namespace System::Text;

int _tmain()
{
    /*класс обеспечивает методами работы с файлами, конструктор создает указатель к файлу*/
    String^ path = "c:\\MyTest.doc";        
    FileInfo^ fi = gcnew FileInfo (path); 
    //если фаел не существует -  он создается:
    if (!fi->Exists)
        {
            fi=>Create();
        }

    FileStream^ fs = fi->OpenWrite();
    /*метод создает для записи обьект типа FileStream. 
    Методы этого обьекта используются для работы c файлами*/
    while(1)
        {
            String ^s = System::Console::ReadLine();
            //чтение строки символов с консоли(клавиатуры)
            if(s=="") // признак конца ввода строк - <Enter>
                break;
            array<Byte> ^info = (gcnew UTF8Encoding (true))-> GetBytes(s);
            array<Byte> ^b = gcnew array<Byte>(1){'\n'}; // переход на новую строку

            /*преобразование прочитанной строки в массив байтов т.к. 
            метод fs->Write(), используемый для записи строки, требует
            на входе однобайтового массива символов, получение которых обеспечивает
            конструктор класса UTF8Encoding, класса, который представляет формат UTF-8
            (Unicode Transfer Format 8-битовый) символов Юникода
            */

            fs->Write(info,0,info->Length); // запись с 0-го элемента массива с начала строки
            fs->Write(b,0,b->Length); //ввод конца строки
        } //while
    if (fs)
        delete (IDaisposable^)fs;
    /*освобождение ресурса от экземпляра с указателем fs.
    При освобождении ресурса файл закрывается*/
}


Это сообщение отредактировал(а) sanek1990 - 3.11.2009, 12:10
PM MAIL WWW Skype   Вверх
xvr
Дата 3.11.2009, 12:16 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Ни фига себе 'для начинающих'  smile Может лучше с 'Hello world' начинать?
Это самый что ни на есть С++ .NET (мертворожденное нечто, удачно собравшее в себя недостатки С++ и С#)
Книжку - ф топку!

PM MAIL   Вверх
azesmcar
Дата 3.11.2009, 12:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 2
Всего: 211



Цитата(sanek1990 @  3.11.2009,  12:09 Найти цитируемый пост)
Это даже не С++ вроде а С

Повторяюсь, это Microsoft Visual C++ .NET, не Си, не Си++. Наверняка ты создал обыкновенный проект, надо создавать вот так
user posted image
но я бы не советовал это изучать. Найди нормальную книгу по C++ и изучай, или начинай с C#.

Цитата(xvr @  3.11.2009,  12:16 Найти цитируемый пост)
мертворожденное нечто, удачно собравшее в себя недостатки С++ и С#

 smile точно сказано smile 

Это сообщение отредактировал(а) azesmcar - 3.11.2009, 12:18
PM   Вверх
sanek1990
Дата 3.11.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 19.10.2009

Репутация: нет
Всего: нет



Цитата

Повторяюсь, это Microsoft Visual C++ .NET, не Си, не Си++. Наверняка ты создал обыкновенный проект, надо создавать вот так

Да действительно помогло, раньше в книге писали, что   CLR - приложение именно надо создавать, а в этой главе перед данным листингом решили пропустить (на 200-ой странице книги - читатель профи уже smile )... Все проблемы с Sysytem и прочие сопутсвующие ушли.. (52 ошибки (( ). осталась одна всего такая, если return 0  в конце программы не писать (как в книжке)
вот тут 

Код

if (fs)
        delete (IDisposable^)fs;
    /*освобождение ресурса от экземпляра с указателем fs.
    При освобождении ресурса файл закрывается*/

    
user posted image

если же напишу return 0 ,  то получаю следующее

Код

if (fs)
        delete (IDisposable^)fs;
    /*освобождение ресурса от экземпляра с указателем fs.
    При освобождении ресурса файл закрывается*/
    return 0;


user posted image

Что опять не нравится??

Зы.
Цитата

Повторяюсь, это Microsoft Visual C++ .NET, не Си, не Си++.

теперь понял, буду различать, спасибо!!
Зыы.
Цитата

Ни фига себе 'для начинающих'   Может лучше с 'Hello world' начинать?

начиналось все с этого smile  только вот чем дальше в лес тем больше дров))
Цитата

Книжку - ф топку!

Задумаюсь над этим)))

 

Это сообщение отредактировал(а) sanek1990 - 3.11.2009, 12:46
PM MAIL WWW Skype   Вверх
azesmcar
Дата 3.11.2009, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 2
Всего: 211



Цитата(sanek1990 @  3.11.2009,  12:46 Найти цитируемый пост)
Что опять не нравится??

ну, скорее всего ему не нравиться название функции main, попробуй так
Код

int main(array<System::String ^> ^args)

и return 0 больше не нужен, точнее не обязателен.


Это сообщение отредактировал(а) azesmcar - 3.11.2009, 12:49
PM   Вверх
sanek1990
Дата 3.11.2009, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 19.10.2009

Репутация: нет
Всего: нет



Цитата

попробуй так

пробовал, точнее так все и стоит, но почему то не помогает((
Листинг стал таким
Код

#include "stdafx.h"

using namespace System;
using namespace System::IO;
using namespace System::Text;

int tmain(array<System::String ^> ^args)
{
    /*класс обеспечивает методами работы с файлами, конструктор создает указатель к файлу*/
    String^ path = "c:\\MyTest.doc";        
    FileInfo^ fi = gcnew FileInfo (path); 

    //если фаел не существует -  он создается:
    if (!fi->Exists)
        {
            fi->Create();
        }

    FileStream^ fs = fi->OpenWrite();
    /*метод создает для записи обьект типа FileStream. 
    Методы этого обьекта используются для работы c файлами*/
    while(1)

        {
            String ^s = System::Console::ReadLine();
            //чтение строки символов с консоли(клавиатуры)
            if(s=="") // признак конца ввода строк - <Enter>
                break;
            array<Byte> ^info = (gcnew UTF8Encoding (true))-> GetBytes(s);
            array<Byte> ^b = gcnew array<Byte>(1){'\n'}; // переход на новую строку

            /*преобразование прочитанной строки в массив байтов т.к. 
            метод fs->Write(), используемый для записи строки, требует
            на входе однобайтового массива символов, получение которых обеспечивает
            конструктор класса UTF8Encoding, класса, который представляет формат UTF-8
            (Unicode Transfer Format 8-битовый) символов Юникода
            */

            fs->Write(info,0,info->Length); // запись с 0-го элемента массива с начала строки
            fs->Write(b,0,b->Length); //ввод конца строки
        } //while

    if (fs)
        delete (IDisposable^)fs;
    /*освобождение ресурса от экземпляра с указателем fs.
    При освобождении ресурса файл закрывается*/
    //return 0; /* надо или не надо??????????*/
    
}


Это сообщение отредактировал(а) sanek1990 - 3.11.2009, 13:02
PM MAIL WWW Skype   Вверх
azesmcar
Дата 3.11.2009, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 2
Всего: 211



Цитата(sanek1990 @  3.11.2009,  13:00 Найти цитируемый пост)
пробовал, точнее так все и стоит, но почему то не помогает((
Листинг стал таким

сам найдешь отличия? smile 

Цитата(azesmcar @  3.11.2009,  12:49 Найти цитируемый пост)
int main(array<System::String ^> ^args)

Цитата(sanek1990 @  3.11.2009,  13:00 Найти цитируемый пост)
int tmain(array<System::String ^> ^args)


PM   Вверх
sanek1990
Дата 3.11.2009, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 19.10.2009

Репутация: нет
Всего: нет



Цитата

сам найдешь отличия?  


Эээххххх))) проглядел(( Спасибо огромное, все заработало!! Тема помечается как решенная)) было б 100 постов поставил бы "+" к репутации  smile  

Это сообщение отредактировал(а) sanek1990 - 3.11.2009, 13:07
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0946 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.