C语言中如何读取文件里的行数?
#include <stdio.h>
int hangshu(char file[])//输入工程目录下的文件名,或者其他目录下绝对路径名例如:c:\\1.txt;
{
char c;
int h=0;
FILE *fp;
fp=fopen(file,"r");
if(fp==NULL)
return -1;//表示文件打开错误
while((c=fgetc(fp))!=EOF)
{
if(c=='\n')
h++;
else
{
c=fgetc(fp);//这是处理最后一行可能没有换行标志,但是确文件结束。
if(c==EOF)
{
h++;
break;
}
}
}
return h;
}
int main()
{
int hs=hangshu("c:\\1.txt");//这里说明你要打开的文件。这个是c盘根目录下文件
int hst=hangshu("1.txt");//工程目录下的文件。
printf("行数:%d\n",hs);
printf("行数:%d\n",hs);
}
如上是用c编写的,不是c++.
运行的时候可以把中文注释去掉。
完全可以运行的,我已经测试过了。
c语言如何判断数组是否读取完?
举例来说: FILE *fp = fopen("dict.txt", "r"); char buf[1024]; if (fp != (FILE *)NULL) { while(fgets(buf, sizeof(buf), fp)) // 从文件中读入一行字符串,保存在buf中,直到读完所有字符串 { // 处理读入的字符串buf } fclose(fp); }
怎么用文件流或者内存流一行一行的读取文本文件?
可以通过FileReader 的readLine()方法实现。
FileReader fr=new FileReader("filename.txt")
;//获取文件流 BufferedReader br = new BufferedReader(fr)
; //将流整体读取。
String str; while((str=br.readLine())!=null)
{//判断是否是最后一行 system.out.print(str)
;//输出每一行内容。 } 总结:以上就是通过读取文件中每行内容,之后通过readLine方法进行每一行的内容输出。
c语言怎么在特定行列输入?
在 C 语言中,可以使用以下方法在特定行列输入数据:
1. 使用 scanf 函数:
- 使用 scanf 函数的 %d 格式符读取整数,并使用 \n 来跳过新行。
- 使用 scanf 函数的 %c 格式符读取字符,并使用 \n 来跳过新行。
- 使用 scanf 函数的 %s 格式符读取字符串,并使用 \n 来跳过新行。
2. 使用 gets 函数:
- 使用 gets 函数读取一行文本,并将其存储在字符数组中。
- 使用 gets 函数读取一行文本,并将其存储在字符串变量中。
3. 使用 fgets 函数:
- 使用 fgets 函数从文件读取一行文本,并将其存储在字符数组中。
- 使用 fgets 函数从文件读取一行文本,并将其存储在字符串变量中。
需要注意的是, scanf 函数和 gets 函数在读取数据时会跳过空白字符(包括空格、制表符、换页符等),而 fgets 函数则会读取包括空白字符在内的完整行。另外, scanf 函数和 gets 函数在读取数据时不会检查输入的合法性,而 fgets 函数则会检查输入的合法性(例如,是否为空行)。