【发布时间】:2015-04-01 03:55:44
【问题描述】:
我正在使用 C 进行一个项目,对于该项目,我必须读取一个文本文件并将每个单词存储到一个数组中。我还必须从单词中删除标点符号,因此我需要使用二维数组来编辑单词。我无法弄清楚如何自行获取二维数组中的单词。这是我到目前为止所做的:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 1001
#define LINES 81
int main(void) {
int stringSize;
int i =0;
char *x[MAX][LINES];
char str[MAX];
char y[MAX];
FILE *fp;
fp = fopen("TwoCitiesStory.txt","r");
if(fp == NULL) {
printf("Cannot open file.\n");
exit(1);
}
while(!feof(fp)) {
for(i=0;i<MAX;i++){
fscanf(fp,"%s",x[i][LINES]);
}
}
return 0;
}
【问题讨论】:
-
你想从文件中读取一行...因为 %s 只会读取单词
-
例如,如果文本文件包含“Hi my name is Bob”。我需要数组来保存 x[0][]="Hi" x[1][]="my" 等等。文本文件最大字数为1000字,字数最大为80个字符。
-
那么您在使用此代码时遇到了什么问题
-
char x[MAX][LINES];..for(i=0;i<MAX;i++){ fscanf(fp,"%80s",x[i]); } -
您错误地使用了
feof:stackoverflow.com/questions/5431941/…