【发布时间】:2014-04-20 09:54:35
【问题描述】:
我有问题。我有这段代码,第一部分 while 工作我的意思是好的,因为通过调试代码(我打印什么是保存 i 数组,看起来不错)。但是在 for in array inst 我想要什么。
我的文件我有这种格式的名字:
Peter News
Martin Clear
.
.
.
我的代码只打印在最后一行。我尝试在数组中打印其他行,但第一行或最后一行只是最后一行。我尝试everthink,但它不起作用。
下面是简单的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *soubor;
char radek[80];
char *data[100];
int pos = 0;
int i;
soubor = fopen("names.txt","r");
while(fscanf(soubor,"%[^\n]", radek) != EOF){
getc(soubor);
data[pos] = radek;
printf("%d radek = %s pole = %s \n", pos, radek, data[pos]); // debug
pos++;
}
for(i=0;i<100;i++){
printf("%s \n",data[i]);
}
return 0;
}
【问题讨论】:
-
data[pos] = radek;,它的内容将是最后一个,都是一样的因为只是复制指针。