C_HelloWorld (十种奥)

本文介绍了使用C语言通过不同方式输出HelloWorld的方法,包括利用printf, puts, putchar等函数的不同用法,以及使用ASCII码进行字符输出的技巧。
//十种 HelloWorld 的输出
#include <stdio.h>
#include <stdlib.h>


void Hello1()

{
printf("HelloWorld\n");

}


void Hello2()
{
puts("HelloWorld");//本身就可换行

}


void Hello3()
{
printf("%s","HelloWorld\n");  //HelloWorld按照 %s 格式化为字符串

}


void Hello4()
{
printf("%c%c%c%c%c%c%c%c%c%c%c",'H','e','l','l','o','W','o','r','l','d','\n');


void Hello5()
{
putchar('H');
putchar('e');
putchar('l');
putchar('l');
putchar('o');
putchar('W');
putchar('o');
putchar('r');
putchar('l');
putchar('d');
putchar('\n');

}


void Hello678910()
{
putchar(72);//asc码 10进制
putchar(101);
putchar(0154);//0开始 代表8进制数换为十进制后为108
putchar('\154');//  '\ddd' 代表3位8进制代表的字符 换为十进制后为108
putchar(0x6F);//0x开始 代表16进制数换为十进制后为111
putchar('\x57');//    '\xhh'  代表2位16进制代表的字符 换为十进制后为111
putchar(111);
putchar(114);
putchar(108);
putchar(100);
puts(" <--5种方式写的奥");


void main()

{
Hello1();
Hello2();
Hello3(); 
Hello4();
Hello5();
Hello678910();
system("pause");

}



### 可能的原因及解决方案 在 ROS2 中,如果运行 `ros2 run pkg01_helloworld_cpp helloworld` 时出现错误提示 `Package 'pkg01_helloworld_cpp' not found`,这通常表明系统无法找到指定的包。以下是可能的原因及解决方法: #### 1. 工作空间未正确设置 确保工作空间路径正确,并且已执行编译命令。例如,在终端中切换到工作空间目录后,使用以下命令进行编译[^1]: ```bash colcon build ``` 编译完成后,需加载生成的环境变量以使新编译的包生效: ```bash source install/setup.bash ``` #### 2. 功能包名称不匹配 确认功能包的实际名称是否为 `pkg01_helloworld_cpp`。在创建功能包时,包名必须与运行命令中的名称一致。如果包名不同,则需要更正命令或重新创建正确的包[^2]。 #### 3. 缺少必要的依赖项 在创建功能包时,确保添加了所有必需的依赖项。例如,若使用 C++ 编写节点,则需要将 `rclcpp` 添加为依赖项。创建功能包时可以参考以下命令: ```bash ros2 pkg create --build-type ament_cmake pkg01_helloworld_cpp ``` 同时,检查 `package.xml` 文件,确保包含以下依赖项: ```xml <depend>rclcpp</depend> <depend>std_msgs</depend> ``` 之后重新编译工作空间。 #### 4. 节点名称不正确 运行命令中的节点名称(如 `helloworld`)必须与实际编写的节点名称一致。检查源代码中的 `main` 函数或等效入口点,确保其注册的节点名称正确无误。 #### 5. 编译失败或未完成 检查编译日志以确认是否存在错误。如果编译过程中有任何警告或错误信息,可能会导致包未能正确生成。例如,如果编译输出中未显示类似以下内容,则表示包未成功编译: ``` Finished <<< pkg01_helloworld_cpp [2.23s] Summary: 1 package finished [2.39s] ``` #### 示例代码结构 假设功能包名为 `pkg01_helloworld_cpp`,节点名为 `helloworld`,则其文件结构应类似于以下内容: ``` pkg01_helloworld_cpp/ ├── CMakeLists.txt ├── package.xml └── src/ └── helloworld.cpp ``` 其中,`helloworld.cpp` 的示例代码如下: ```cpp #include "rclcpp/rclcpp.hpp" class HelloWorldNode : public rclcpp::Node { public: HelloWorldNode() : Node("helloworld") { RCLCPP_INFO(this->get_logger(), "Hello, World!"); } }; int main(int argc, char **argv) { rclcpp::init(argc, argv); auto node = std::make_shared<HelloWorldNode>(); rclcpp::spin(node); rclcpp::shutdown(); return 0; } ``` #### 加载环境变量 确保每次打开新的终端时都加载工作空间的环境变量。可以通过以下命令实现: ```bash source ~/WS/install/setup.bash ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值