gpt4 book ai didi

c - 从文件中读取字符串,然后将它们保存到矩阵中

转载 作者:太空宇宙 更新时间:2023-11-04 03:35:19 24 4
gpt4 key购买 nike

我一直在尝试从像这样的非格式化 .txt 文件中读取随机字符:

sadfhjk
xcvbnm
dfghjkl

然后将它们保存到一个矩阵中,然后在另一个文件上打印出来,但我不断得到这样的结果,我不明白为什么我在输入后得到这些随机字符串:

sadfhjk
xþcvbnm
dfgwhjkl
//random strings starting from there
iEwcvbnm
dfgwhjkl
iEwhjkl
iEwdä䊀@@Àþ))þÿÿÿJsDw=tDwà@Dwà@

这是我到目前为止编写的代码:

#include <stdio.h>
#include <stdlib.h>
#define N 5
#define DIM 10

int main()
{
int i=0, c=0, j=0;
char matrice[DIM][DIM];

FILE *ifp, *ofp;

ifp=fopen("C:\\Users\\messa\\OneDrive\\PoliTo\\Anno II\\Algoritmi\\Laboratori\\lab2\\es2\\input.txt", "r");
if (ifp==NULL) printf("Impossibile aprire file!\n");

ofp=fopen("C:\\Users\\messa\\OneDrive\\PoliTo\\Anno II\\Algoritmi\\Laboratori\\lab2\\es2\\output.txt", "w");
if (ofp==NULL) printf("Impossibile aprire file!\n");

for(i=0; i<DIM-1;i++){
for(j=0;j<DIM-1;j++){
fscanf(ifp,"%c", &matrice[i][j]);
}
}

for(i=0; i<DIM; i++) fprintf(ofp, "%s", matrice[i]);

fclose(ofp);
fclose(ifp);


return 0;
}

最佳答案

  • 如果使用 %s,则必须在字符串末尾放置空字符 '\0'
  • 矩阵[DIM-1] 未初始化,其内容不确定。

char matrice[DIM][DIM]; 更改为 char matrice[DIM][DIM]={{0}}; 以便它被初始化并具有'\0' 在每个字符串之后和最后一行将是一个空字符串。

关于c - 从文件中读取字符串,然后将它们保存到矩阵中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33198666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com