C语言:如何使字符数组由文本(.txt)文件字母组成?
正如上面的标题,我想知道如何将txt文件中的字母保存到一个字符数组中 例如,如果文本文件是 123\n45 678 我要生成的字符数组arr[]将是arr[]={'1'、'2'、'3'、'\n'、'4'、'5'、''6'、'7'、'8'}C语言:如何使字符数组由文本(.txt)文件字母组成?,c,C,正如上面的标题,我想知道如何将txt文件中的字母保存到一个字符数组中 例如,如果文本文件是 123\n45 678 我要生成的字符数组arr[]将是arr[]={'1'、'2'、'3'、'\n'、'4'、'5'、''6'、'7'、'8'} 如何使数组包含获取单个字符?解决此问题的一种方法是使用fgets()函数 #包括 int main() { int size=15; 字符arr[大小]; FILE*pf=fopen(“.txt”,“r”); FGET(arr、尺寸、pf); puts(arr
如何使数组包含获取单个字符?解决此问题的一种方法是使用fgets()函数
#包括
int main()
{
int size=15;
字符arr[大小];
FILE*pf=fopen(“.txt”,“r”);
FGET(arr、尺寸、pf);
puts(arr);
fclose(pf);
返回0;
}
fgets原型:
fgets(字符*字符串,整数起始,文件*ptr)
#include <stdio.h>
int main()
{
FILE *pf = fopen(".txt", "r");
int check = fseek(pf, 0, SEEK_END);
if (check)
{
printf("could not fseek\n");
}
int size = 0;
size = ftell(pf);
fseek(pf, 0, SEEK_SET); /* add this */
char arr[size];
fgets(arr, size, pf);
puts(arr);
fclose(pf);
return 0;
}
#包括
int main()
{
FILE*pf=fopen(“.txt”,“r”);
int check=fseek(pf,0,SEEK_END);
如果(检查)
{
printf(“无法fseek\n”);
}
int size=0;
尺寸=ftell(pf);
fseek(pf,0,SEEK_SET);/*添加此*/
字符arr[大小];
FGET(arr、尺寸、pf);
puts(arr);
fclose(pf);
返回0;
}
您可以使用fread()
通过单个调用进行输入。您尝试过什么?在编译时还是运行时?fread()
绝对是正确的选择。你问“如何使数组包含获取单个字符”是什么意思?@OldProgrammer之后,我经常编写一个小代码,从其他内容生成源代码,然后将输出复制/粘贴到主项目中。例如printf(“char arr[]={”);For(inti=0;i<10;i++)printf(“%c',”,arr[i]);printf(“};\n”)
在本例中特别注意换行符数据。
#include <stdio.h>
int main()
{
FILE *pf = fopen(".txt", "r");
int check = fseek(pf, 0, SEEK_END);
if (check)
{
printf("could not fseek\n");
}
int size = 0;
size = ftell(pf);
fseek(pf, 0, SEEK_SET); /* add this */
char arr[size];
fgets(arr, size, pf);
puts(arr);
fclose(pf);
return 0;
}