{0 /Data1/ , 0x00, 0, 0xFF},
{1 /data2/ , 0x00, 0, 0xFF},
{2 /data3/ , 0x00, 0, 0xFF},
{3 /data4/ , 0x00, 0, 0xFF}, ...
我只想打印每行的第二列的數據文件。以下是我工作的代碼。
#include<stdio.h>
#include<string.h>
int main()
{
char filename[] = "file.txt";
FILE *file = fopen(filename, "r");
if(file!= NULL)
{
char line[128];
char * word1;
char word2;
char word3;
int i=0;
clrscr();
while (fgets(line, sizeof line, file)!= NULL)
{
i=0;
word1 = strtok(line, " ,");
while(word1!= NULL)
{
i++;
if(i==2){
printf("%s\n",word1);
}
word1 = strtok(NULL," ,");
}
}
fclose(file);
}
else
{
perror(filename);
}
getch();
return 0;
}
它工作正常。我可以將每行打印的值保存到數組中嗎? 我想是這樣的
if(i==2){
word2 = * (word1);
}
printf("%s\n",word1);
但它給我一個空指針賦值。如何將值打印到數組中?
是否允許使用'std :: vector'而不是數組?代碼是C,但問題標記爲C++。 – hmjd 2012-04-16 19:56:08
相關:http://stackoverflow.com/questions/10179622/how-to-read-second-and-last-words-from-each-line-in-c - 是你編碼的C或C++嗎? – Mat 2012-04-16 19:57:44
我的代碼在C中。在我甚至分手之前,我發佈了相關的問題。現在我只想將每行的指向值保存到數組中以備後用。 – user1336997 2012-04-16 20:00:26