c语言将字符串写入文件中,然后计算并输出文件的长度(以字节为单位)
时间: 2024-03-01 17:53:35 浏览: 163
可以使用C语言的标准库函数`fprintf()`将字符串写入文件中。计算文件长度可以使用`fseek()`和`ftell()`函数。
下面是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
char str[] = "Hello, world!";
long int len;
fp = fopen("test.txt", "w");
fprintf(fp, "%s", str);
fclose(fp);
fp = fopen("test.txt", "r");
fseek(fp, 0, SEEK_END);
len = ftell(fp);
fclose(fp);
printf("File length: %ld bytes\n", len);
return 0;
}
```
这个程序将字符串"Hello, world!"写入到文件"test.txt"中,然后计算文件长度并输出。注意,`fseek()`函数的第二个参数为0,表示从文件开头偏移0个字节。`ftell()`函数返回当前文件指针的位置,即文件长度。
相关问题
c语言写入字符串,并判断字符串字节大小
可以使用strlen函数来获取字符串的字节大小,示例代码如下:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
printf("字符串的字节大小为:%d\n", len);
return 0;
}
```
注意,这里使用了scanf函数来获取用户输入的字符串,如果字符串中包含空格等特殊字符,可能会导致输入不完整,建议使用fgets函数来获取完整的字符串。
C语言 申请一个指针,将字符串写入指针中
可以使用 `malloc()` 函数在堆上动态分配一块内存,并将字符串写入其中。如下所示:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char *str = (char*)malloc(sizeof(char) * 10); // 动态分配10个字节的内存
strcpy(str, "Hello"); // 将字符串写入到指针中
printf("%s\n", str); // 输出指针中的字符串
free(str); // 释放内存
return 0;
}
```
在这个示例中,我们首先使用 `malloc()` 函数动态分配了 10 个字节的内存,并将返回的指针强制转换成 `char*` 类型,然后使用 `strcpy()` 函数将字符串 "Hello" 写入到指针中。最后,我们将指针中的字符串输出,并使用 `free()` 函数释放了动态分配的内存,以防止内存泄漏。
阅读全文