导航:首页 > 文件目录 > c语言中csv文件内容居中

c语言中csv文件内容居中

发布时间:2024-10-15 12:40:15

『壹』 C语言 给一个CSV文件(每行一个单词) 现在用户输入一个单词 返回单词所在行 要怎么操作

#include<stdio.h>

#include<windows.h>

void main()

{

FILE *fp;

int i=1,count=1,flag=0,j=0;

char ch[32],key[32];

printf("输入搜索的单词 ");

scanf("%s",key);

if((fp=fopen("yh-test.csv","rt"))==NULL)

{

printf("文件打开失败! ");

exit(1);

}

while(!feof(fp))

{

fgets(ch,32,fp);

i=strlen(ch);

if(ch[i-1]==' ')

ch[i-1]=0;

if(strcmp(ch,key)==0)

{

printf("第%d个所在行:%d ",count,j+1);

count++;

flag=1;

}

j++;

}

if(flag==0)

printf("没有这个单词! ");

fclose(fp);

}

yh-test.csv这个是你想要搜索文件的名字,你可以自己改。只要保证名称改好且那个文件在程序目录下就好。

『贰』 用c语言读取csv文件中的一列数据并求这些数据的平均值

#include <stdio.h>

void main()
{
int i,n=0;
float x[1000],val;
FILE *fp;

if((fp=fopen("test.csv","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
while (1)
{
if(fscanf(fp,"%f,", &val) == EOF) break;
x[n]=val;
n++;
}
fclose(fp);

val=0;
for(i=0;i<n;i++)
val+=x[i];
if(n>0) val=val/n;
printf("%g\n",val);
}

『叁』 用c语言来打开csv格式内容怎么做

csv是逗号分隔的, 其它的 都等同于纯文本
所以 简单的csv文件, 只需要按照文本方式打开
然后以逗号为分隔符 读取每个域的内容就可以了。
可以根据内容约定, 存储成数组或者结构体

『肆』 编写一个C语言程序读取一个csv格式文件的内容,文件内全是数字,每次读取5个

csv文件即逗号分隔值文件。

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。
纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。
CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。
要用C语言读取CSV,首先需要确定文件中定义的字符分隔值,以及每一行各个列的元素格式。
如果所有的元素格式相同,那么可以每行一个一维数组,所有行组成一个二维数组,逐个元素进行读取。
如果元素格式不同,可以按照元素类型,构建一个结构体,每行读到一个结构体变量中,所有行组成一个结构体数组。
下面根据两种情况,按照分隔符为逗号(,),分别举一个例子:
文件名设定为in.csv,每行10个元素。
一、所有元素均相同类型,比如int型。
#include <stdio.h>
int main()
{
FILE*fp;
int a[100][10];//定义一个足够大的数组来存储。
int line = 0;
int c, i;

fp = fopen("in.csv", "r"); // 以文本方式打开。
if(fp == NULL) return -1; // 打开文件失败。
while(1)
{
i=0;//列标记清零。
while(1)
{
fscanf(fp, "%d", &a[line][i]);//从文件中读取一个元素。
c = getchar();//读取下一个字符,可能是分隔符,换行符或文件结尾。
if(c == '\n'||c == EOF)break;//读完一行,或者到文件结尾,退出读取。
i++;
}
line ++;
if(c == EOF) break;
}

fclose(fp); //关闭文件。
//以下循环用来打印所有读到的值。
for(i = 0; i < line; i ++)
{
for(c = 0; c < 10; c ++)
printf("%d ", a[i][c]);
printf("\n");
}
}
二、每行元素不同。
比如共三列,第一列是int型,第二列是字符串,第三列是float型。
如果分隔符不是空白字符,或者字符串元素中可能存在除分隔符外的其它空白字符,在读取字符串的时候是不能用fscanf函数的。
定义结构体如下
strcut data
{
int a;
char s[100]; //根据实际要求,定义足够大的字符数组。
float f;
};
读取代码如下:
#include <stdio.h>
int main()
{
FILE*fp;
strcut data a[100];//定义一个足够大的结构体一维数组来存储。
int line = 0;
int c,i;

fp = fopen("in.csv", "r"); // 以文本方式打开。
if(fp == NULL) return -1; // 打开文件失败。
while(1)
{
fscanf(fp, "%d", &a[line].a);//从文件中读取第一个元素。
c = getchar();//读取分隔符。
//接下来要读取字符串,需要逐个字符读入,直到出现分隔符为止。
i = 0;
while(1)
{
a[line].s[i] = getchar();//读入一个字符。
if(a[line].s[i] == ',')//发现分隔符
{
a[line].s[i]='\0'; //赋值字符串结束符。
break;//退出读取字符串。
}
i++;
}
//由于在读字符串的时候分隔符已经被读取,这里不需要读分隔符,而是直接读下一个元素。
fscanf(fp, "%f", &a[line].f);//从文件中读取最后一个元素。
c = getchar();//读取下一个字符,可能是换行符或文件结尾。
line ++;
if(c == EOF) break;//到文件结尾,退出读取。
}

fclose(fp); //关闭文件。
//以下循环用来打印所有读到的值。
for(i = 0; i < line; i ++)
{
printf("%d %s %f\n", a[i].a, a[i].s, a[i].f);
}
}

阅读全文

与c语言中csv文件内容居中相关的资料

热点内容
锤子的数据转移都转移什么 浏览:230
iphone4开机提示连接itunes 浏览:359
苹果的风扇app怎么下载 浏览:161
仙剑历代发行版本 浏览:266
cmp文件夹 浏览:473
公众号小程序源代码 浏览:178
众心彩票是个什么APP 浏览:815
电脑如何连接蓝牙网络 浏览:793
筛选后如何计算复杂数据 浏览:287
如何把不同品牌的手机数据导出 浏览:393
日历数据库表的设计 浏览:761
代码如何快速做金字塔数据 浏览:775
文件异地同步软件 浏览:383
微信网页版自动登录 浏览:370
excel如何分开男女数据 浏览:883
帝豪gl怎么打开u盘文件夹在哪里 浏览:477
苹果皮能用流量吗 浏览:548
电脑宽带连接共享wifi密码 浏览:655
最新微粒贷app官方下载 浏览:923
win10电脑怎么休眠不断网 浏览:530

友情链接