|
5鱼币
#include<stdio.h>
#include<stdlib.h>
void f(char* file)
{
FILE *f;
f=fopen(file,"r");
char buff[255];
char arry[3][3]={' '};
while(fgets(buff,255,f)!=NULL){
printf("%s",buff);}
fclose(f);
}
int main(){
f("a.txt");
return 0;
}
a.txt 里面是个矩阵
a b c
d e f
a b c
像请问一下大佬们 我这里能读取txt的内容并打印出来 但是我要怎么样才能将内容 输入到arry[3][3]里面 提供给控制台操作呢?
另外是不是需要把函数f 变为 char 最后还要return arry呢?
本帖最后由 superbe 于 2019-9-20 20:47 编辑
- #include<stdio.h>
- #include<stdlib.h>
- #define M 3 //M行
- #define N 3 //N列
- void f(char *file)
- {
- int i,j;
- char buff[20];
- char array[M][N]={' '};
- FILE *f;
- if((f=fopen(file,"r"))==NULL){
- printf("打开文件失败!");
- exit(0);
- }
- for(i=0;i<M;i++){ //从文件读字符到数组
- for(j=0;j<N;j++)
- {
- fscanf(f,"%s",buff);
- array[i][j]=buff[0];
- }
- }
- for(i=0;i<M;i++){ //打印数组
- for(j=0;j<N;j++)
- {
- printf("%c ",array[i][j]);
- }
- printf("\n");
- }
- fclose(f);
- }
- int main(){
- f("a.txt");
- return 0;
- }
复制代码
发现显示不正确,刚重新编辑过了。如果矩阵中某项是连续的字符串,只取第一个字符。每项前后可以有任意空白(空格、tab、空车)。
|
最佳答案
查看完整内容
发现显示不正确,刚重新编辑过了。如果矩阵中某项是连续的字符串,只取第一个字符。每项前后可以有任意空白(空格、tab、空车)。
|