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

时间:2022-12-10 17:01:08
#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.

16 个解决方案

#1


系统没有找到syslib.h头文件

#2


#include <syslib.h> 该为<conio.h>看看?

#3


引用 1 楼 fibbery 的回复:
系统没有找到syslib.h头文件

大侠!请问该如何解决呢?

#4


引用 2 楼 CSYNYK 的回复:
#include  <syslib.h> 该为 <conio.h>看看?
你好!谢谢你的关注,该了后会报“clrscr();” 没有定义。。该如何解决??

#5


代码中总共就3个库函数:
clrscr();    // conio.h中
printf();    // stdio.h中
getchar()    // 也在stdio.h中, 如果是在vc下,就在conio.h中
没有哪个函数需要syslib.h阿!要它干嘛?

#6


噢!还有一个strupr()包含在string.h中。

#7


lz用的什么编译器?

#8


引用 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

#9


如果是用的vc,建议lz将clrscr()改为system("cls");此函数在process.h和windows.h中二者任包含一个均可

#10


引用 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;
}

编译通过,没有得到结果。。

#11




#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;
}


#12


引用 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";//这里的字符串是在静态数据区,不能修改 
字符型指针的字符串是在静态数据区吗?为什么?

#13


char s[]="sdfgdgdgdfg";//此时数组s的空间在栈内,可读可写
char *s="sdfgdgdgdfg"  //此时指针变量s本身的地址在栈内,它指向静态数据区的字符串"sdfgdgdgdfg"的首地址,静态数据区的内容在编译的时候就已经生成了,此时只能读不能修改!

#14


更详细的情况请搜索内存管理方面的资料!有很多详细的内容!

#15


引用 14 楼 CSYNYK 的回复:
更详细的情况请搜索内存管理方面的资料!有很多详细的内容!
谢谢!有什么代表性的书籍?我好去下载。

#16


不错...xiexiwe

#1


系统没有找到syslib.h头文件

#2


#include <syslib.h> 该为<conio.h>看看?

#3


引用 1 楼 fibbery 的回复:
系统没有找到syslib.h头文件

大侠!请问该如何解决呢?

#4


引用 2 楼 CSYNYK 的回复:
#include  <syslib.h> 该为 <conio.h>看看?
你好!谢谢你的关注,该了后会报“clrscr();” 没有定义。。该如何解决??

#5


代码中总共就3个库函数:
clrscr();    // conio.h中
printf();    // stdio.h中
getchar()    // 也在stdio.h中, 如果是在vc下,就在conio.h中
没有哪个函数需要syslib.h阿!要它干嘛?

#6


噢!还有一个strupr()包含在string.h中。

#7


lz用的什么编译器?

#8


引用 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

#9


如果是用的vc,建议lz将clrscr()改为system("cls");此函数在process.h和windows.h中二者任包含一个均可

#10


引用 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;
}

编译通过,没有得到结果。。

#11




#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;
}


#12


引用 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";//这里的字符串是在静态数据区,不能修改 
字符型指针的字符串是在静态数据区吗?为什么?

#13


char s[]="sdfgdgdgdfg";//此时数组s的空间在栈内,可读可写
char *s="sdfgdgdgdfg"  //此时指针变量s本身的地址在栈内,它指向静态数据区的字符串"sdfgdgdgdfg"的首地址,静态数据区的内容在编译的时候就已经生成了,此时只能读不能修改!

#14


更详细的情况请搜索内存管理方面的资料!有很多详细的内容!

#15


引用 14 楼 CSYNYK 的回复:
更详细的情况请搜索内存管理方面的资料!有很多详细的内容!
谢谢!有什么代表性的书籍?我好去下载。

#16


不错...xiexiwe