青岛建网站公司哪家专业,网站建设项目报价,徐州网站建设薇at57666y,建设网站要在需求fgets
作用
fgets是C语言标准库中用于从文件中读取字符串的函数。
fgets函数从指定的文件流stream中读取最多n-1个字符#xff0c;或者直到遇到换行符#xff08;包括换行符在内#xff09;#xff0c;并将其存储到以str指向的字符数组中。读取的字符串会以null字符\0结…fgets
作用
fgets是C语言标准库中用于从文件中读取字符串的函数。
fgets函数从指定的文件流stream中读取最多n-1个字符或者直到遇到换行符包括换行符在内并将其存储到以str指向的字符数组中。读取的字符串会以null字符\0结尾因此fgets可以安全地读取包含空格的字符串。
如果成功读取了字符串则fgets返回str如果到达文件末尾或者发生错误它会返回NULL。
例如可以使用fgets函数从文件中逐行读取文本数据并将每行存储到相应的字符数组中。
格式
char *fgets(char *str, int n, FILE *stream);用法
我们打开一个名为date.txt的文件并使用fgets函数从中读取一行数据然后将其打印到控制台上。fgets函数的第一个参数是目标缓冲区第二个参数是要读取的最大字符数第三个参数是文件指针。如果读取成功fgets会返回一个非空指针否则返回空指针。
#define _CRT_SECURE_NO_WARNINGS//fgets
#includestdio.hint main()
{FILE* file;char buffer[100];//创建一个存储字符串的数组//打开文件file fopen(date.txt, r);if (file NULL){printf(无法打开文件\n);return 1;}//从文件中读取一行数据if (fgets(buffer, 100, file) ! NULL){printf(从文件中读取的内容是:%s, buffer);}else{printf(读取文件失败\n);}//关闭文件fclose(file);return 0;
}
我已经创建好了名为date.txt的文件名并且写入了如下图的数据。 运行结果 fputs
作用
fputs是C语言标准库中用于向文件中写入字符串的函数。
fputs函数将以str指向的字符串写入到指定的文件流stream中。如果写入成功fputs返回非负值如果发生错误它返回EOF。
与fprintf和fwrite等函数不同fputs专门用于向文件中写入字符串而不是格式化的数据或二进制数据。
例如可以使用fputs函数将一个字符串写入到文件中或者将一个字符串逐行写入到文件中。
格式
int fputs(const char *str, FILE *stream);
用法
示例中我将date.txt中的数据拷入到date_copy.txt的文件中去。
#includestdio.hint main()
{//声明两个指针变量一个是源文件一个是目标文件FILE* source_file, *target_file;char ch;//以只读的方式打开源文件date.txtsource_file fopen(date.txt, r);if (source_file NULL){printf(无法打开源文件\n);return 1;}//以只写的方式打开目标文件date_copy.txttarget_file fopen(date_copy.txt, w);if (target_file NULL){printf(无法打开目标文件\n);fclose(source_file);return 1;}//从源文件中读取数据写入到目标文件中while ((ch fgetc(source_file)) ! EOF){fputc(ch, target_file);}//关闭文件fclose(source_file);fclose(target_file);printf(文件拷贝完成\n);return 0;
}
运行结果 fscanf
作用
fscanf是C语言标准库中用于从文件中按照指定格式读取数据的函数。
fscanf函数从指定的文件流stream中按照指定的格式字符串format读取数据并将读取到的数据按照格式转换后存储到对应的变量中。fscanf函数的使用方式与scanf函数类似只是scanf是从标准输入中读取数据而fscanf是从文件中读取数据。
fscanf函数返回成功匹配并转换的参数个数如果没有匹配成功则返回0。如果发生读取错误或者到达文件末尾则返回EOF。
格式
int fscanf(FILE *stream, const char *format, ...);
fscanf函数从指定的文件流stream中按照指
用法
读取文件中的两个数字我事先在input文件中放了两个数字68和6。
#includestdio.hint main()
{FILE* file fopen(input.txt, r);if (file ! NULL){int num1, num2;if (fscanf(file, %d %d, num1, num2) 2){printf(读取的两个整数分别是: %d 和 %d\n, num1, num2);}else{printf(读取文件时发生错误或者已达到文件末尾\n);}fclose(file);}else{printf(无法打开文件\n);}return 0;
} fprintf
作用
fprintf是C语言标准库中用于向文件中按照指定格式写入数据的函数。
fprintf函数根据指定的格式字符串format将数据按照指定格式写入到指定的文件流stream中。与printf函数类似fprintf函数可以接受可变数量的参数根据format字符串中的格式说明符进行格式化输出。
fprintf函数返回成功写入的字符数如果发生写入错误则返回负值。
格式
int fprintf(FILE *stream, const char *format, ...);
用法
现在我想要写入两个%d的数字到output的文件中去。
//fprintf
#includestdio.h
int main()
{FILE* file fopen(output.txt, w);if (file ! NULL){int num1 10, num2 20;if (fprintf(file, 两个整数分别是:%d 和%d \n, num1, num2) 0){printf(数据已经成功写入文件\n);}else{printf(写入文件时发生错误\n);}fclose(file);}else{printf(无法打开文件\n);}return 0;
} 运行完成后我们可以看见两个数字已经写入。 sscanf
作用
sscanf是C语言标准库中用于从字符串中按照指定格式读取数据的函数。
sscanf函数从指定的字符串str中按照指定的格式字符串format读取数据并将读取到的数据按照格式转换后存储到对应的变量中。sscanf函数的使用方式与scanf函数类似只是scanf是从标准输入中读取数据而sscanf是从字符串中读取数据。
sscanf函数返回成功匹配并转换的参数个数如果没有匹配成功则返回0。
格式
int sscanf(const char *str, const char *format, ...);
用法
我现在要从字符串按照指定格式读取出三个不同类型的数据。
//sscanf
#includestdio.h
int main()
{char input[] 35 54.3 hello;int num1;double num2;char str[10];// 从字符串中按照格式%d %f %s读取数据if (sscanf(input, %d %lf %s, num1, num2, str) 3){printf(从字符串中读取的数据分别是:%d, %.2lf, %s\n, num1, num2, str);}else{printf(读取字符串时发生错误\n);}return 0;
}
运行结果 sprintf
作用
sprintf函数是C语言中的一个标准库函数用于将格式化的数据写入字符串中。
sprintf函数的作用是根据指定的格式化字符串format将后续的参数按照格式化要求写入到字符数组str中。它的使用方式与printf函数类似不同之处在于printf函数将输出结果写入到标准输出流通常是显示器而sprintf函数将输出结果写入到指定的字符数组中。
格式
int sprintf(char *str, const char *format, ...);
用法
格式化数据
//sprintf
#include stdio.hint main()
{char buffer[100];int num 123;double value 45.67;char str[] hello;sprintf(buffer, 数字%d, 浮点数%.2lf, 字符串%s, num, value, str);printf(格式化后的字符串%s\n, buffer);return 0;
} fseek
作用
fseek函数是C语言标准库中用于移动文件指针位置的函数它允许程序在文件中定位到指定的位置从而进行读取或写入操作。
格式
int fseek(FILE *stream, long offset, int origin);
用法
//fseek
#include stdio.hint main()
{FILE* fp fopen(example.txt, r);if (fp ! NULL) {fseek(fp, 10, SEEK_SET); // 将文件指针移动到文件开头后的第10个字节处// 进行读取或写入操作fclose(fp);}else {printf(打开文件失败\n);}return 0;
} ftell
作用
ftell函数是C语言标准库中用于获取文件指针当前位置的函数。它返回当前文件位置指针的偏移量以字节数表示。
格式
long int ftell(FILE *stream);
用法
读取字节数 #include stdio.hint main()
{FILE* fp fopen(example.txt, r);if (fp ! NULL) {fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾long int file_size ftell(fp); // 获取文件指针当前位置即文件大小printf(文件大小为 %ld 字节\n, file_size);fclose(fp);}else {printf(打开文件失败\n);}return 0;
}