Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ошибка при компелиоровании

50K
29 января 2010 года
iCrash
30 / / 12.01.2010
помогите! Что не так?

Цитата:
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

void client();

struct letter

{

int len;

char *data;

}let;

int main()
{
client();
}

void client()
{
int sockfd;
int len,len2=0;
struct sockaddr_in address;
int result;
char ch;
char lenbuf[256], *buf;

sockfd = socket (AF_INET, SOCK_STREAM, 0);

address.sin_family = AF_INET;
address.sin_addr.s_addr= inet_addr("127.0.0.1");
address.sin_port = htons(9734);
len = sizeof(address);

result = connect(sockfd, (struct sockaddr *) &address, len);

if(result==-1)
{
printf("don't connect\n");
perror("ppos: client");
exit(1);
}

buf = lenbuf;
print("enter data: \n");
while((*buf++=getchar())!= '\n')/*считываем данные в буф-массив одновременно выясняя их количество*/
{
if(len2=255)
{
printf("buff is full \n");/*проверка переполнения буфера*/
break();
}
len2++;
}
*buf='\0';

let.len=len2;/*заносим в структуру длинну сообщения в символах*/
let.data = calloc (len2, sizeof(char));/*динамически выделяем память под входящие данные*/
if(!let.data) printf("memory error data\n");/*проверили -выделилась ли память*/
strncpy(let.data, mas, len2);/*копируем из буф-массива данные в структуру*/

write(sockfd, &let.data, 1);
read(sockfd, &let.data, 1);
puts(let.data);
close(sockfd);
exit(0);
}



Язык C
Система Linux

34K
29 января 2010 года
muturgan
96 / / 01.10.2009
Тексты ошибок-то приведите.
50K
29 января 2010 года
iCrash
30 / / 12.01.2010
Цитата:
>>>gcc asd.c
asd.c: In function ‘client’:
asd.c:59: error: expected ‘;’ before ‘(’ token
asd.c:68: error: ‘mas’ undeclared (first use in this function)
asd.c:68: error: (Each undeclared identifier is reported only once
asd.c:68: error: for each function it appears in.)



вот...

253
29 января 2010 года
Proger_XP
1.5K / / 07.08.2004
1) break(); - это не функция, а конструкция, поэтому просто break;
2) strncpy(let.data, mas, len2); - что такое mas? нигде не определено.
297
29 января 2010 года
koodeer
1.2K / / 02.05.2009
Обратил внимание на это:
 
Код:
if(len2[highlight]=[/highlight]255)

Очевидно, должно быть:
 
Код:
if(len2[highlight]==[/highlight]255)

Чтобы не допускать таких ошибок, лучше писать константное значение впереди, тогда компилятор не позволит присваивание:
 
Код:
if (255 = len2) // ошибка! компилятор не позволит такую конструкцию

if (255 == len2) // ok!
9
29 января 2010 года
Lerkin
3.0K / / 25.03.2003
Цитата: iCrash
вот...


Ёлки, ну а если попытаться перевести эти сообщения? Ты теперь с каждым затыком собрался форум третировать?

2
29 января 2010 года
squirL
5.6K / / 13.08.2003
синтаксические ошибки учимся исправлять сами. закрыто.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог