【发布时间】:2017-12-01 12:43:35
【问题描述】:
我有一个问题,我试图让一个 C 程序读取一个 50 行 11 列的文件,问题是这个文件完全由字符串组成,我做了这个:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct
{
char nome[100];
char dica[10][300];
} PAIS;
void main()
{
int i;
i = 0;
PAIS paises[50];
char nome[30];
FILE *arq;
arq = fopen("Dicas3.txt", "r");
//fscanf(arq,"%s", nome);
//printf("%s", nome);
while(!feof(arq))
{
fscanf(arq,"%s %s %s %s %s %s %s %s %s %s %s", paises[i].nome, paises[i].dica[0][0], paises[i].dica[1][0], paises[i].dica[2][0], paises[i].dica[3][0], paises[i].dica[4][0], paises[i].dica[5][0], paises[i].dica[6][0], paises[i].dica[7][0], paises[i].dica[8][0], paises[i].dica[9][0]);
printf("%s %s %s %s %s %s %s %s %s %s %s", paises[i].nome, paises[i].dica[0][0], paises[i].dica[1][0], paises[i].dica[2][0], paises[i].dica[3][0], paises[i].dica[4][0], paises[i].dica[5][0], paises[i].dica[6][0], paises[i].dica[7][0], paises[i].dica[8][0], paises[i].dica[9][0]);
i++;
}
system ("PAUSE");
}
程序编译,但程序不工作。拜托,有人能告诉我如何做一个程序来读取一个 50x11 的矩阵并在窗口中打印这个矩阵吗?
矩阵在这个文件中(是葡萄牙语,但这个矩阵是 os 字符串):
https://drive.google.com/file/d/1BLhGSHIx69Ycrasgtl4lKyxxKPRlSAv2/view?usp=sharing
【问题讨论】:
-
但程序不工作。这是什么意思?
-
请提供 Dicas3.txt 文件的示例。
-
你得到了什么?你能指望什么?举一些例子可以更好地解释你喂什么。
-
要使用
fscanf读取字符串,您必须提供指向字符串空间的指针。所以将paises[i].dica[0][0]替换为paises[i].dica[0]。printf也一样。
标签: c string file matrix vector