‘壹’ 在c语言中,举例说明如何打开一个文本文件,并读入文件中的数据
1.首先,使用VS构建一个新的空项目,然后直接单击ok。
‘贰’ c语言读取数据
很简单 我先占个座
写完了 超出了我预计时间 6分钟
data.in内容
1 mul 2
4 div 1
5 add 6
8 sub 6
4 mod 3
运行结果
1 * 2
4 / 1
5 + 6
8 - 6
4 % 3
Press any key to continue
代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
int i,sel;
char line[100]={0},num1[5]={0},num2[5]={0},op[5]={0},oplist[5][5]={"mul","div","add","sub","mod"};
FILE *fp=fopen("data.in","r");;
if (fp==NULL)
{
printf("Error 1\n");
return 1;
exit(0);
}
while (fgets(line,sizeof(line)-1,fp))
{
sscanf(line,"%[0-9] %s %[0-9]\n",num1,op,num2);
printf("%s ",num1);
sel=-1;
for (i=0;i<5;i++)
{
if (strcmp(oplist[i],op)==0)
{
sel = i;
break;
}
}
switch (sel)
{
case 0:printf("* ");
break;
case 1:printf("/ ");
break;
case 2:printf("+ ");
break;
case 3:printf("- ");
break;
case 4:printf("%% ");
break;
default:
printf("Error 2\n");
return 2;
}
printf("%s\n",num2);
}
}
‘叁’ 如何用c语言读取文本文件中的多行数据
用循环存入数组比较简单。
查下api有函数可以一行一行的读写的。
比如getline
先保存到一个字符串数组中。
然后再处理
‘肆’ C语言怎样读取文本的每一行
可以使用fgets函数来实现。
1 函数名:
fgets
2 声明形式:
char *fgets(char *buf, int bufsize, FILE *stream);
3 头文件:
stdio.h
4 功能及参数说明:
从stream中读取一行数据存到buf中。如果数据长度小于bufsize,那么读入整行数据,并将换行符转换为字符串结束符\0。 如果数据长度超过bufsize,那么只读入bufsize大小的数据,并在结尾添加\0。
5 返回值:
成功,则返回第一个参数buf;
在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;
如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。
‘伍’ C语言中怎么读取TXT里面所有的数据啊
你把
1001
ZXZ
80
1002
ZYB 85
1003 XXX 80
都定义在一个结构体里。在定义个一结构体变量。
然后用fread
fwtirte分别读写。
用
rb
和
rw的形式
因为fread
fwtirte是按数据块的长度来处理输出和输入的
基本的思路是这样
http://blog.sina.com.cn/u/1835498344
》
‘陆’ C语言读取文件数据
先用getline或fgets读取数据到一个字符串中,这个串定义的长一点,保证够用就行,如:
char
str[1024];
fgets(
str
,
sizeof(str),
fp
);
//fp为你打开的文件指针
然后调用for循环去读取串的的数据,假设你的分隔符是空格,遍历str,遇到空格就得到一个数据,然后继续遍历,直到str尾。
然后再去fgets数据,再遍历,即可得到所有的数据。
‘柒’ 关于c语言如何读取数据
你要读哪3位?
连着一起的3位,还是独立的3位
连一起: (val&(0x07<<n))>>n
0-2: (val&0x07)>>0
1-3: (val&0x0e)>>1
2-4: (val&0x1c)>>2
3-5: (val&0x38)>>3
4-6: (val&0x70)>>4
5-7L (val&0xe0)>>5
单独第n位:
(val&(0x1<<n))>>n
‘捌’ c语言读取文件中的一条记录如何从文件中读取记录
这里的记录一般说的是结构体,即保存了一组信息。
将结构体写入文件可使用fwrite函数,原型:
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);参数含义:
(1)buffer:是一个指针,对fwrite来说,是要获取数据的地址;
(2)size:要写入内容的单字节数;
(3)count:要进行写入size字节的数据项的个数;
(4)stream:目标文件指针;
返回值:
实际写入的数据项个数count。
注:文件需用二进制写的方式打开,即:
fout = fopen("file address", "wb"); 从文件中读取结构体信息,可使用fread函数,原型:
size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;参数含义:
(1)buffer:用于接收数据的内存地址
(2)size:要读的每个数据项的字节数,单位是字节
(3)count:要读count个数据项,每个数据项size个字节.
(4)stream:输入流
返回值:
实际读取的元素个数。
注:文件需用二进制读的方式打开,即:
fin = fopen("file address", "rb"); fwrite和fread都是单纯的写、读二进制数据,所以需要配合使用,以保证数据有效。用fwrite产生文件,之后配套的用fread来读取文件。
‘玖’ C语言如何读取文本文件中的一行数据啊
用fstream(文件流),fstream
file
然后
file.getline(char*,int,char
a=‘\n’)第一个是一个存储字符串的指针,第二个是要读取的最大长度,第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符(‘\n’)时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊。!!~~
‘拾’ C语言在TXT文件中如何读取任意行/个数据
使用fread函数
C 标准库 - <stdio.h>
描述
C 库函数size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)从给定流stream读取数据到ptr所指向的数组中。
声明
下面是 fread() 函数的声明。
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
参数
ptr-- 这是指向带有最小尺寸size*nmemb字节的内存块的指针。
size-- 这是要读取的每个元素的大小,以字节为单位。
nmemb-- 这是元素的个数,每个元素的大小为 size 字节。
stream-- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。
返回值
成功读取的元素总数会以 size_t 对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个错误或者到达了文件末尾。