jsyzljx 发表于 2009-6-29 21:34:43

按行读取,每行有好多字符,各字符之间用,号分开,该如何获得此行中任意字符啊.

wangyuhui727 发表于 2009-7-1 15:55:48

楼上可以参考我在15楼的例程

94yumen 发表于 2009-7-2 23:44:41

可以用fgets来读取一行,注意读取的字符串末尾包括换行符\n,也可以用ReadLine(不读\n)。如果行内不含空格,也可以用fscanf(不读\n),因为fscanf遇空格会结束。这几个函数遇换行符都会自动结束。
对文件的所有操作,其文件位置指针都会指向操作结束的位置,读取一行后指针已指向下一行,所以不必担心如何换行,继续读就是了。
至于分割字符串,可以用strtok(string, delimiter),string为待分割字符串的起始地址,delimiter为分割符。该语句逐个字符的进行对比,找到分割符或空格就把它换成NUL,结束,或遇NUL结束,位置指针指向分割符或空格后的字符,下一次分割应从这里开始。该语句返回指向分割成的字符串的指针。要完成所有分割,须用循环语句。例:
char string[]={"a,b,c,d"} *p;
p = strtok (string, ",");    //语句结束后string值要改变
while (P != NULL)
{
      strtok (NULL ,",");   //从上一次分割的分割符后一字符开始继续
}

94yumen 发表于 2009-7-2 23:51:15

还漏了一个东东,可以用feof(fp)来检测文件是否结束,等于1时表示文件结束,0表示没有结束,所以经常用
while (feof (fp) == 0)
{}

mayp2008 发表于 2009-7-20 14:45:51

多谢多谢,又学了几招!!!

pidaneng 发表于 2009-7-21 01:35:14

好东西,谢谢分享!

zhan1024 发表于 2009-9-18 10:28:53

很常用,但是很多细节还是需要好好学习。谢谢

zjboy 发表于 2009-9-23 00:58:31

char* readline(FILE* f)
{
      char* line = (char*) calloc(0, sizeof(char) );
      char c;
      int len = 0;
      while ( (c = fgetc(f) ) != EOF && c != '\n')
      {
                FilePosition = NOTEND;
                line = (char*) realloc(line, sizeof(char) * (len + 2) );
                line = c;
                line = '\0';
      }
      return line;
}

hcwz 发表于 2009-10-23 13:46:33

char *ReadLineFromFile(char *fileName,long line)
{
   
        int i;
        int fileHandle;
        int onelineWidth;
        int postion;
        char oneLineData;
        char *Ptr;
   
        fileHandle = OpenFile (fileName, VAL_READ_ONLY, VAL_OPEN_AS_IS, VAL_ASCII);
        for (i=1;i<=line;i++)
        {       
           postion = SetFilePtr(fileHandle,0,1);
           onelineWidth = ReadLine(fileHandle,oneLineData,20);
           Delay(0.01);
        }
    Ptr = oneLineData;
        return Ptr;
}

这样返回的就是第N行的数据存储的指针,只是这个需要知道文本中一共有多少行.

绿肥红瘦 发表于 2010-4-12 11:22:32

感谢高手的回复,让小弟收益啊!

uyakeno 发表于 2010-4-14 09:25:19

谢谢!!

snoopybean 发表于 2011-3-10 23:16:35

同求中呀!学习了

proco 发表于 2016-12-21 14:52:59

学习了!
页: 1 [2]
查看完整版本: 从*.txt文件中读取数据??