创建进程; 父进程向文件中添加hello 和 world!; 子进程向文件中添加hello 和 welcome!; 只需修改文件内容即可,平台将为你输出文件内容。c语言
时间: 2024-10-16 15:13:32 浏览: 14
嵌入式系统/ARM技术中的用EVC编写WINCE下的HelloWorld
在C语言中创建进程通常通过`fork()`函数实现。`fork()`函数会返回一个新的进程ID(如果成功),0代表父进程,非零值表示新生成的子进程。下面是一个简单的示例,展示如何创建一个父进程和子进程,并分别向文件中添加内容:
```c
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#define FILENAME "output.txt"
void write_to_file(const char* message) {
FILE* file = fopen(FILENAME, "a"); // "a"表示追加模式
if (file == NULL) {
perror("Failed to open file");
return;
}
fprintf(file, "%s\n", message);
fclose(file);
}
int main() {
pid_t pid = fork(); // 创建新进程
if (pid == 0) { // 子进程
write_to_file("hello and welcome!");
printf("Child process writing to file.\n");
} else if (pid > 0) { // 父进程
write_to_file("hello and world!");
printf("Parent process writing to file.\n");
wait(NULL); // 等待子进程结束
printf("Parent process exiting.\n");
} else {
perror("Fork failed");
exit(1);
}
return 0;
}
```
在这个例子中,父进程首先创建了一个子进程,然后各自向文件`output.txt`中添加指定的消息。父进程调用`wait()`等待子进程结束后再退出。
运行这个程序后,`output.txt`的内容将是:
```
hello and world!
hello and welcome!
```
阅读全文