c语言 文件读取写入的问题
#include<stdio.h>#include<stdlib.h>
void f(char* file)
{
FILE *f;
f=fopen(file,"r");
char buff;
char arry={' '};
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里面 提供给控制台操作呢?
另外是不是需要把函数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;
char array={' '};
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=buff;
}
}
for(i=0;i<M;i++){ //打印数组
for(j=0;j<N;j++)
{
printf("%c ",array);
}
printf("\n");
}
fclose(f);
}
int main(){
f("a.txt");
return 0;
}
发现显示不正确,刚重新编辑过了。如果矩阵中某项是连续的字符串,只取第一个字符。每项前后可以有任意空白(空格、tab、空车)。 superbe 发表于 2019-9-20 10:16
发现显示不正确,刚重新编辑过了。如果矩阵中某项是连续的字符串,只取第一个字符。每项前后可以有任意 ...
大佬如果我想再细分 把打印的那部分改成一个print函数 我要如何把文件中读取的数组传到下一个函数的参数里面呢?
就是说f函数能不能return一个array出来 然后 print函数 把return出来的array作为参数 再打印呢?
我试着写了一个print函数
char f(char *file)
{
int i,j;
char buff;
char array={' '};
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=buff;
}
}
fclose(f);
return array;
}
void print(char array)
{
int i,j;
for(i=0;i<M;i++){
for(j=0;j<N;j++)
{
printf("%c ",array);
}
printf("\n");
}
int main(){
char array;
f("a.txt");
print(array);
return 0;
} #include<stdio.h>
#include<stdlib.h>
#define M 3 //M行
#define N 3 //N列
void f(char *file,char array[])
{
int i,j;
char buff;
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=buff;
}
}
fclose(f);
}
void print(char array[])
{
int i,j;
for(i=0;i<M;i++){ //打印数组
for(j=0;j<N;j++)
{
printf("%c ",array);
}
printf("\n");
}
}
int main(){
char array={' '};
f("a.txt",array);
print(array);
return 0;
}
这种方法是可以的。 superbe 发表于 2019-9-20 14:27
这种方法是可以的。
谢谢{:5_110:}
页:
[1]