LINUX.ORG.RU

Непонятная ситуевина


0

0

Объявляю след. переменные(массивы): char *var1, var2[56]. Если делаю: strcpy (var1, string1); - OK strcpy (var2, string1); - ругается Lvalue required. Почему ? Согдасно классических трудов и то и то верно...

anonymous

а по подробней можно весь текст? и чем компилишь? а то у меня все нормально прошло...

anonymous
()

Может имеет смысл попробовать
strcpy (&var2, string1)?

anonymous
()

soglasno klassicheskih trudov vtoroi vyzov dolzhen polozhit progu v core esli konechno val1 nigde nichego ne prisvaivaetsya. :)

master
()

ответ

1. Надо полностью программу увидеть 2. под var1 надо выделить память 3. совет &var2 - бред 4. если допустить, что string1 является (const?) char*, то ошибка указанная ошибка скорее относится к другой строчке программы. Читайте, что такое lvalue. rezdm@cyber:~/aaa$cat a.c #include <stdio.h> void main(void) { char *var1, var2[25]; char* string1="aaaa"; /*strcpy (var1, string1); */ strcpy (var2, string1); printf("\nstr:%s\n", var2); }

rezdm@cyber:~/aaa$gcc a.c rezdm@cyber:~/aaa$./a.out

str:aaaa rezdm@cyber:~/aaa$uname -a FreeBSD cyber.miem.edu.ru 2.2.8-RELEASE FreeBSD 2.2.8-RELEASE #0: Wed Feb 16 14: 35:06 MSK 2000 root@cyber.miem.edu.ru:/mnt/disk2/sys/compile/kernel-15.02 .2000 i386 rezdm@cyber:~/aaa$

rezdm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.