sprintf函数可以用来格式化打印字符串,即可以理解为,它可以将字符串和数字等任意类型的数据“组合”成一个新的字符串,现在来重写实践课的第4题,其他内容不变,使用sprintf来将要输出的字符串组合在一起成为一个新的字符串后,输出到文件is_palindrome.txt中。
时间: 2023-06-14 18:07:29 浏览: 88
好的,下面是代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool is_palindrome(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return false;
}
}
return true;
}
int main() {
FILE *fp = fopen("is_palindrome.txt", "w");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
char str[100];
while (scanf("%s", str) != EOF) {
if (is_palindrome(str)) {
char result[100];
sprintf(result, "%s is a palindrome.\n", str);
fputs(result, fp);
} else {
char result[100];
sprintf(result, "%s is not a palindrome.\n", str);
fputs(result, fp);
}
}
fclose(fp);
return 0;
}
```
上述代码中,我们使用sprintf函数将要输出的字符串组合在一起,然后再使用fputs函数将新的字符串输出到文件中。
需要注意的是,sprintf函数的第一个参数是要输出的字符串,第二个参数是格式化字符串,后面的参数是要组合的数据,具体的格式化说明可以自行查阅文档。在这里,我们使用%s表示要输出的字符串,\n表示换行符。
阅读全文