C语言,如何将固定格式文件读取到字符数组中。 格式如下: a|b|c|d|e|f|g 1|2|3|4|5|6|7 7|6|5|4|3|2|1

是二维字符数组,只要a,b,c,d,e,f,g....."|"不要。

第1个回答  2011-10-18
这有何难?

看我的很快就好

a b c d e f g
1 2 3 4 5 6 7
7 6 5 4 3 2 1
Press any key to continue
data.txt
文件内容
a|b|c|d|e|f|g
1|2|3|4|5|6|7
7|6|5|4|3|2|1

#include "stdio.h"
#include "malloc.h"
#include "memory.h"
main()
{
int i,j,k=0,nLen=0;
char ch[3][7];
FILE *fp;
memset(ch,'\0',sizeof(ch));
fp=fopen("data.txt","rt");
if (fp==NULL)
{
printf("error!\n");
}
fseek(fp,0L,SEEK_END);
nLen = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *pchBuf = (char*) malloc(sizeof(char)*nLen+1);
if(!pchBuf)
{
printf("内存不够!\n");
}
nLen=fread(pchBuf,sizeof(char),nLen,fp);
fclose(fp);
pchBuf[nLen] = '\0';
for (i=0;i<3;i++)
{
for (j=0;j<7;j++)
{
if (pchBuf[k]!='|'
&& ((pchBuf[k]>='0' && pchBuf[k]<='9')
|| (pchBuf[k]>='a' && pchBuf[k]<='z')
|| (pchBuf[k]>='A' && pchBuf[k]<='Z'))
)
{
ch[i][j]=pchBuf[k];
printf("%c ",ch[i][j]);
}
else
{
j--;
}
k++;
}
printf("\n");
}
free(pchBuf);
}
第2个回答  2011-10-18
#include<stdio.h>
main()
{
int i,j,a[5],t;
printf("请输入5个数\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)//共四轮次数
{
for(j=0;j<4-i;j++)//每轮循环最大数前一位
{
if(a[j]>a[j+1])//找出最大值交换
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("从小到大输出:\n");
for(i=0;i<5;i++)
printf("%d\t",a[i]);
}本回答被网友采纳
第3个回答  2011-10-17
可以逐个判断字符,如果字符为'|'则跳过。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网