C语言 字符串每两位按逗号分隔,并且每两位前加上(byte)0x前缀,并将结果输出到data.txt中
时间: 2024-03-12 20:49:36 浏览: 105
c语言,怎样输出有空格的字符串?.txt
5星 · 资源好评率100%
可以使用 C 语言的文件操作函数 `fopen` 和 `fprintf` 将结果输出到文件中。示例如下:
```c
#include <stdio.h>
#include <string.h>
void format_string(char *str, char *result) {
int len = strlen(str);
int i, j = 0;
for (i = 0; i < len; i += 2) {
strncpy(result + j, "(byte)0x", 8);
strncpy(result + j + 8, str + i, 2);
j += 10;
if (i < len - 2) {
strncpy(result + j, ",", 1);
j += 1;
}
}
result[j] = '\0';
}
int main() {
char str[] = "1234567890";
char result[100];
format_string(str, result);
FILE *fp = fopen("data.txt", "w");
fprintf(fp, "%s\n", result);
fclose(fp);
return 0;
}
```
首先定义一个字符串 `str`,然后定义一个函数 `format_string`,该函数接受两个参数,第一个参数是待格式化的字符串,第二个参数是格式化后的结果。函数中使用循环每隔两个字符取出子串,并在子串前面加上 `(byte)0x` 前缀,然后在子串后面加上逗号,最后去掉最后一个逗号即可。然后在主函数中调用该函数得到格式化后的结果,并使用文件操作函数 `fopen` 和 `fprintf` 将结果输出到文件中。最后关闭文件并返回。
阅读全文