C/C 关于strupr()函数报错和#include

时间:2008-08-28 06:00:56   来源:论坛整理  作者:  编辑:chinaitzhe
#include <syslib.h>
#include <string.h>
#include <stdio.h>

main()
{
char *s="Copywrite 1999-2000 GGV Technologies";

clrscr();

printf("%s",strupr(s));
getchar();
return 0;
}

编译时报错 fatal error C1083: Cannot open include file: 'syslib.h': No such file or directory Error executing cl.exe.
网友回复:系统没有找到syslib.h头文件
网友回复:#include <syslib.h> 该为 <conio.h>看看?
网友回复:
引用 1 楼 fibbery 的回复:
系统没有找到syslib.h头文件

大侠!请问该如何解决呢?
网友回复:
引用 2 楼 CSYNYK 的回复:
#include <syslib.h> 该为 <conio.h>看看?
你好!谢谢你的关注,该了后会报“clrscr();” 没有定义。。该如何解决??
网友回复:代码中总共就3个库函数:
clrscr(); // conio.h中
printf(); // stdio.h中
getchar() // 也在stdio.h中, 如果是在vc下,就在conio.h中
没有哪个函数需要syslib.h阿!要它干嘛?

网友回复:噢!还有一个strupr()包含在string.h中。
网友回复:lz用的什么编译器?
网友回复:
引用 5 楼 CSYNYK 的回复:
代码中总共就3个库函数:
clrscr();? ? // conio.h中
printf();? ? // stdio.h中
getchar()? ? // 也在stdio.h中, 如果是在vc下,就在conio.h中
没有哪个函数需要syslib.h阿!要它干嘛?

在VC下修改成#include <conio.h> 报这个错误:error C2065: 'clrscr' : undeclared identifier
网友回复:如果是用的vc,建议lz将clrscr()改为system("cls");此函数在process.h和windows.h中二者任包含一个均可
网友回复:
引用 9 楼 CSYNYK 的回复:
如果是用的vc,建议lz将clrscr()改为system("cls");此函数在process.h和windows.h中二者任包含一个均可

#include <process.h>

//#include <syslib.h>
#include <string.h>
#include <stdio.h>

main()
{
char *s="Copywrite 1999-2000 GGV Technologies";

//clrscr();
system("cls");

printf("%s",strupr(s));

getchar();
return 0;
}

编译通过,没有得到结果。。
网友回复:
C/C code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/





#include  <process.h>

#include  <string.h>

#include  <stdio.h>



main()

{

   //char *s="Copywrite 1999-2000 GGV Technologies"; //这里的字符串是在静态数据区,不能修改的!

   char s[]="Copywrite 1999-2000 GGV Technologies"; //改成这样在试试看!

   system("cls");

   printf("%s",strupr(s));

   getchar();

   return 0;

}







网友回复:
引用 11 楼 CSYNYK 的回复:

C/C code#include <process.h>#include <string.h>#include <stdio.h>main()
{//char *s="Copywrite 1999-2000 GGV Technologies";//这里的字符串是在静态数据区,不能修改的!chars[]="Copywrite 1999-2000 GGV Technologies";//改成这样在试试看!system("cls");
printf("%s",strupr(s));
getchar();return0;
}

谢谢!大侠!
char *s="Copywrite 1999-2000 GGV Technologies";//这里的字符串是在静态数据区,不能修改
字符型指针的字符串是在静态数据区吗?为什么?
网友回复:char s[]="sdfgdgdgdfg";//此时数组s的空间在栈内,可读可写
char *s="sdfgdgdgdfg" //此时指针变量s本身的地址在栈内,它指向静态数据区的字符串"sdfgdgdgdfg"的首地址,静态数据区的内容在编译的时候就已经生成了,此时只能读不能修改!
网友回复:更详细的情况请搜索内存管理方面的资料!有很多详细的内容!
网友回复:
引用 14 楼 CSYNYK 的回复:
更详细的情况请搜索内存管理方面的资料!有很多详细的内容!
谢谢!有什么代表性的书籍?我好去下载。
关键字:函数,
上一篇:好多 1 啊.

相关文章

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面