1. c语言小白求问。如何读取字符串文件,并根据不同长度的单词统计总共出现的频率
看你问题演示,是统计一段英文文字中,不同单词出现次数(但world明明只出现1次,你演示代码却输出的是2)。
如想统计一段文件中的英文单词出现次数。需实现以下功能:
一、遍历字符串,通过分割符号空格及标点符号获取单词数组。
二、大小写转换,把数组单词全部转换为大写或者小写(识别同一个单词不同大小写)。
三、遍历单词数组,累加统计每个单词数量。(可遍历到第一个单词作为当前统计对象,之后每遍历到相同单词,就将对应变量计数+1,并将该单词字符串置0)。
思路:可先用fopen打开文件流,之后用fgets把全文读出到字符串变量。
之后两个选择:
1、直接变量字符串,遇字母作为一个单词开始,遇非字母作为一个字母结束,这样把所有单词,拆出来放到字符串数组中。(大小写转换可同时进行)。
2、变量字符串将所有标点符号全部替换成空格,再用fprintf写入覆盖原文件,再用循环fscanf(返回-1表示读取结束),将所有以空格间隔的单词直接读取到字符串数组。
最后变量字符串数组。
2. C语言如何读取TXT全部字符
你可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc();
先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符。读取全部文本中全部字符可以使用一个while循环加判断是否读取到文件结尾来实现:
char
ch;
while((ch=
fgetc(fp))
!=
EOF)
这样当读取到文件结尾时,while循环就会终止。
3. c语言 如何读取中文字符串
可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc();
先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符。读取全部文本中全部字符可以使用一个while循环加判断是否读取到文件结尾来实现:
char ch;
while((ch= fgetc(fp)) != EOF)
这样当读取到文件结尾时,while循环就会终止。
C语文编写编译如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLINE 100000
#define BUFLEN 1024
int main()
{
FILE *file;
char buf[BUFLEN];
int len=0,i=0;
char *array[MAXLINE];
file=fopen("test.txt","r");//打开TXST.TxT文件
if(!file)return -1;
while(fgets(buf,BUFLEN,file))//读取TXT中字符
{
len=strlen(buf);
array[i]=(char*)malloc(len+1);
if(!array[i])break;
strcpy(array[i++],buf);
}
fclose(file);
i--;
while(i>=0&&array[i])
{
printf("%s\n",array[i]);//打印test文档的字符
free(array[i--]);
}
}
4. 如何用C语言直接读入键盘字符
有方法,可以参考:
自己写
字符检测
函数,限定以想要输入的字符范围,然后依次匹配输入字符项,合适,读取;非法,丢弃,继续读取
5. c语言怎么一个一个读取string中的字符
int
getchar
(
void
);
读取一个字符.
结果是
int
型
循环读,就可以读取一行字符中的每一个字符。
也可以用
gets
读入
一整行字符,
结果存入
char
数组,
char
数组中的每一个单个字符
可以
看成
一字节
整数。
6. C语言问题 怎样从一个文件中逐个读入字符(每次读入一个)
charstr[1024];
inti=0;
while((str[i]=getchar())!=' ')
i++;
getchar();
(6)c语言如何读取字符扩展阅读
C语言读取一个文件的字符:
#include<stdio.h>
intmain(void)
{
FILE*stream;
errno_terr;
//Openforread(willfailiffile"crt_fopen_s.c"doesnotexist)
err=fopen_s(&stream,"crt_fopen_s.c","r");
if(err==0)
printf("Thefile'crt_fopen_s.c'wasopened ");
else
printf("Thefile'crt_fopen_s.c'wasnotopened ");
}
7. 怎么用C语言读取 TXT文件中的字符串
可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc();
先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符。读取全部文本中全部字符可以使用一个while循环加判断是否读取到文件结尾来实现:
char
ch;
while((ch=
fgetc(fp))
!=
EOF)
这样当读取到文件结尾时,while循环就会终止。
C语文编写编译如下:
#include
#include
#include
#define MAXLINE 100000
#define BUFLEN 1024
int main()
{
FILE *file;
char buf[BUFLEN];
int len=0,i=0;
char *array[MAXLINE];
file=fopen("test.txt","r");//打开TXST.TxT文件
if(!file)return -1;
while(fgets(buf,BUFLEN,file))//读取TXT中字符
{
len=strlen(buf);
array[i]=(char*)malloc(len+1);
if(!array[i])break;
strcpy(array[i++],buf);
}
fclose(file);
i--;
while(i>=0&&array[i])
{
printf("%s\n",array[i]);//打印test文档的字符
free(array[i--]);
}
}
8. C语言中读取一个字符
getch和getche都是读入单个字符的,不同的是getch不会将读书的输出来,而getche就会再把它输出到屏幕上。
比如你用getch读入,按了键以后屏幕上没有输出,但是实际上已经读入了。而getche会把你刚按的再输出来。
getchar则是读入字符串的。
9. C语言中怎么输入字符串并从中逐一读取字符
#include<stdio.h>
#include<string.h>
intmain()
{
charpara[100];
inti,k;
/*scanf("%c",para);//%c是单个字符。。。
k=scanf("%c",para);
while(k!=EOF)
scanf("%c",para);
printf("theinputwords: ");
for(i=strlen(para);i>=0;i--)
printf("%c",para[i]);
*/
i=0;
scanf("%c",¶[i]);
while(para[i]!='-')//以输入-(负)号为字符串输入的结束符
{
i++;
scanf("%c",¶[i]);
}
k=i;//k是字符串的长度
for(i=k-1;i>=0;i--)//字符串的倒序输出
printf("%c",para[i]);
printf(" ");
return0;
}
试试上述代码,我调试过了。。。。