具有特殊字符的 C++ 类型书写效果
c++ type writing effect with special characters
我一直在做一个控制台项目,该项目将字符一个接一个地打印到控制台中,从而给出类型书写效果。
我看了几篇帖子,到目前为止已经提出了这个:
void printchar(char cal, int speed){
char str[]={cal};
int len = strlen(str);
for(int i=0;i<strlen(str);i++){cout<<myStory[x]; Sleep(speed);}
}
void printmsg(char myStory[], int speed){
for (unsigned int x=0; x<strlen(myStory); x++){cout << myStory[x]; Sleep(speed);}
}
int main()
{
char cal[] = {178,177};
printchar(cal,25);
cout<<endl;
printmsg("test",25);
cout<<endl<<endl;
return 0;
}
如果我这样做,我可以打印几个 unicode 字符
void printchar(char cal, int speed){
char str[]={112,78,178,103,178,112};
int len = strlen(str);
for(int i=0;i<strlen(str);i++){cout<<myStory[x]; Sleep(speed);}
}
但是在打印 unicode 字符后,我得到了额外的 7 个字符左右。
我想知道如何在没有其他字符的情况下打印 unicode 字符,并且还能够更改 cal 变量,以便我可以定义要在函数外部打印的字符。
理想的情况是,如果我可以在不同的时间打印来自同一函数的 unicode 字符和字符串。
您有几个错误,这里有三个错误:
-
char str[]={cal};
后跟strlen(str)
调用,则存在未定义的行为。strlen
函数查找字符串终止符字符' '
,您尚未将其添加到数组中。 -
跟
char cal[] = {178,177}; printchar(cal,25);
您调用一个函数,该函数采用具有
char
数组的单个char
。 -
在
printchar
函数中,引用未声明的myStory
变量。
可能还有其他问题。
编译时启用警告(如果您使用的是 GCC 或 Clang,请至少添加 -Wall
选项(,然后阅读所有警告和错误消息。看看他们引用的行。尝试了解错误和警告的含义。修复错误和警告的原因。在修复警告时,不要只是试图通过简单的类型转换等来隐藏它们,而是真正修复它们。如果你不明白为什么你会收到错误和警告,你永远不会成为一名程序员。
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 防止主数据类型C++的隐式转换
- 大量序列中核苷酸类型的快速计数
- 如何从C++中的依赖类型中获得它所依赖的类型
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 是否可以初始化不可复制类型的成员变量(或基类)
- 如何获取std::result_of函数的返回类型
- 从父命名空间重载类型
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 访问者访问变体并返回不同类型时出错
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 模板元程序查找相似的连续类型名称
- 是否可以从int转换为enum类类型
- 构造函数正在调用一个使用当前类类型的函数
- 我该如何书写和调用这种类型
- 具有特殊字符的 C++ 类型书写效果