Вернуться   Foxter.ru > Мой компьютер > Программирование

Ответ
 
Опции темы Опции просмотра
Старый 10.12.2005, 15:12   #4832  
Модератор
 
Аватар для azalio
 
Репутация: 6476Репутация: 6476Репутация: 6476Репутация: 6476Репутация: 6476Репутация: 6476Репутация: 6476Репутация: 6476Репутация: 6476Репутация: 6476Репутация: 6476
Регистрация: 07.12.2005
Сообщения: 260
По умолчанию C++

Есть тут люди, кто в этом шарит? :-)
Есть вопросы - хотел бы задать :-)
azalio вне форума   Ответить с цитированием
Старый 08.01.2007, 10:55   #37153  
Новичок
 
Аватар для aus_gift
 
Репутация: 1
Регистрация: 05.01.2007
Адрес: Украина
Сообщения: 6
Стрелка по поводу "cout"...

Пример из книги "Полный справочник по С++" 4-ое издание, Герберт Шилдт:


#include <iostream>
#include <cstring>
using namespace std;

class phonebook {
public:
char name[80];
int areacode;
int prefix;
int num;
phonebook(char *n, int a, int p, int nm)
{
strcpy(name, n);
areacode = a;
prefix = p;
num = nm;
}
};

// Display name and phone number.
ostream &operator<<(ostream &stream, phonebook o)
{
stream << o.name << " ";
stream << "(" << o.areacode << ") ";
stream << o.prefix << "-" << o.num << "\n";

return stream; // must return stream
}

int main()
{
phonebook a("Ted", 111, 555, 1234);
phonebook b("Alice", 312, 555, 5768);
phonebook c("Tom", 212, 555, 9991);

cout << a << b << c;

return 0;
}

.....
aus_gift вне форума   Ответить с цитированием
Старый 14.04.2007, 16:19   #46069  
Старожила
 
Аватар для Kostyan
 
Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277
Регистрация: 17.10.2005
Адрес: где то в степях Ярославщины
Сообщения: 399
По умолчанию

Может кто нить сможет разрешить маленький нюанс. Дело в следующем: апишная функция GetModuleFileName получает во втором параметре указатель на строковый буфер, в котором возвращает полное имя файла (полное, т.е. типа "C:\mydir\my_subdir\filename.exe"), которое собсна мне и не требуется. Мне необходимо из этой строки взять тольно непосредственно имя файла (filename.exe). Каким образом это можно было бы реализовать? Я сделал следующим образом, но как то криво мне кажецца. Отматывал указателем с конца строки до первого бекслеша и копировал дальше в буффер:

Код:
GetModuleFileName(NULL,&NameBuffer[0],MAX_PATH);
	DWORD StringLenght=lstrlen(&NameBuffer[0]);
	
	char* lpNameBuffer=&NameBuffer[StringLenght-1];
	do{
		--lpNameBuffer;
	}while(*lpNameBuffer!='\x5C');

	char* lpShortName=ShortName;
	do{
		++lpNameBuffer;
		*lpShortName = *lpNameBuffer;
		++lpShortName;
	}while(*lpNameBuffer!='\0');

	printf("ShortName: %s\n",&ShortName[0]);
Может есть другой способ?

ЗЫ функцию fnsplit() не предлагать =)
__________________
the signature is absent
Kostyan вне форума   Ответить с цитированием
Старый 20.10.2007, 16:44   #52207  
Новичок
 
Аватар для elkozlova
 
Репутация: 1
Регистрация: 20.10.2007
Сообщения: 6
По умолчанию

А чем тебе не нравится этот способ?
elkozlova вне форума   Ответить с цитированием
Старый 02.01.2008, 14:24   #54950  
Новичок
 
Аватар для AnarCky
 
Репутация: 1
Регистрация: 29.12.2007
Адрес: Екатеринбург
Сообщения: 3
По умолчанию

дело в том, что cout это объект пространства имен std и его использование делает акцент на Объектно-Ориентированном Программировании, а поскольку С++, в отличии от С, задумывался как ОО язык, то и ясно, что именно про cout писать будут.
__________________
Новейший компьютер - это котрый либо вчера устарел, либо еще не вышел...
AnarCky вне форума   Ответить с цитированием
Старый 05.01.2008, 13:08   #55027  
Старожила
 
Аватар для Kostyan
 
Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277
Регистрация: 17.10.2005
Адрес: где то в степях Ярославщины
Сообщения: 399
По умолчанию

Блин, юзайте prinft(...), нормальная функция форматированного вывода... но суть вопроса не в этом, собсно говоря.

Подскажите, если кто знает, что за технология такая хитрая, LSP (Layered Service Provider), это из серии "снифферы". Сниффер на сырых сокетах хватает только входящие пакеты, мне же надо бы и исходящие поймать. На всех форумах рекомендуют либо NDIS драйвер либо вот именно эту технологию... а описания что то нигде найти не могу, даже в MSDN как то все плохо. Кто нибуть что нибуть знает? =)

PS сорри, уже не надо думаю =) мелкомяхкие вроде рассматривают такой вопрос, надо учить англицкий.
__________________
the signature is absent

Последний раз редактировалось Kostyan, 05.01.2008 в 13:27.
Kostyan вне форума   Ответить с цитированием
Старый 24.01.2008, 21:00   #55159  
Новичок
 
Аватар для Alraminar
 
Репутация: 1
Регистрация: 24.01.2008
Сообщения: 4
По умолчанию

когда мы начали изучать С у нас возник вопрос какой Х.. это придумал и что он курил... так изощриться нормальный человек не мог...
Alraminar вне форума   Ответить с цитированием
Старый 01.06.2008, 14:48   #55928  
Сейлормун
(луна в тельняшке)
 
Аватар для Rocker_dead
 
Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335
Регистрация: 04.11.2005
Адрес: Москва, ЮАО, ЧЮ
Сообщения: 504
По умолчанию

Добрый день =) Такая ситуация:
На работе нужно программить порты, и мне сказали это делать под ДОСом, в Турбо С. cout и cin не пашут (от чего - понимаю, но это не важно), юзаю scanf и printf. Так вот, при выводе массива символов (допустим "1001110011") программа некоторые единицы заменяет на "(null)". Никто не подскажет, чё это за лажа такая?(
__________________

Rocker_dead вне форума   Ответить с цитированием
Старый 03.06.2008, 16:34   #55965  
Старожила
 
Аватар для Kostyan
 
Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277
Регистрация: 17.10.2005
Адрес: где то в степях Ярославщины
Сообщения: 399
По умолчанию

Rocker_dead, ты бы хоть сорцы выложил. Или фрагмент с функцией.
__________________
the signature is absent
Kostyan вне форума   Ответить с цитированием
Старый 03.06.2008, 17:11   #55966  
Сейлормун
(луна в тельняшке)
 
Аватар для Rocker_dead
 
Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335Репутация: 498335
Регистрация: 04.11.2005
Адрес: Москва, ЮАО, ЧЮ
Сообщения: 504
По умолчанию

Kostyan

Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
int a[16], z[16];
int i, j;
char m, str[9], mark[9]="01111111";
printf("Vvedite bite-marker \n");
scanf("%s", str);
if (strcmp(mark,str))
printf("ERROR");
else
printf("Vvedenniy bite marker verniy - 0x7f \n Vipolnit' poisk?");
m=getch();
printf("%c", m);
if (m=='y')
printf("Vvedite massiv is 16 znakov \n");
for (i=0;i<16;i++)
{scanf("%d", a[i]); printf("\n");
for (i=0;i<16;i++)
printf("%d", a[i], " ");
/*Searching*/
for (i=0;i<9;i++)
    {
    if (a[i]==0 && a[i+1]==1 && a[i+2]==1 && a[i+3]==1 && a[i+4]==1 && a[i+5]==1 && a[i+6]==1 && a[i+7]==1)
        {z[i]=a[i]; z[i+1]=a[i+1]; z[i+2]=a[i+2]; z[i+3]=a[i+3]; z[i+4]=a[i+4]; z[i+5]=a[i+5]; z[i+6]=a[i+6]; z[i+7]=a[i+7]; i=i+8;}
        else
        z[i]=0;
    }
for (j=9;j<16;j++)
    {z[j]=0;}
printf("\n");
for (i=0;i<16;i++)
{printf("%d", z[i], " ");}
getch();
}return 0;}
__________________

Rocker_dead вне форума   Ответить с цитированием
Старый 12.06.2008, 09:36   #56378  
Старожила
 
Аватар для Kostyan
 
Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277Репутация: 132277
Регистрация: 17.10.2005
Адрес: где то в степях Ярославщины
Сообщения: 399
По умолчанию

Rocker_dead, если честно, посмотрел я сорец и чегото плохо его осилил... обратил внимание на явные баги (трудно мимо пройти), но смысл алгоритма не очень... пить закончу, потом может разберусь...
__________________
the signature is absent
Kostyan вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Powered by vBulletin
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
[Foxter Skin] developed by: Foxter.ru