如:一个note.txt文件里面有如下数据“1 2 3 4 5 6 7 8”
如何每次依次读出一个整形的数字,并对这个数字操作。谢谢啦,那位大虾帮一下!

解决方案 »

  1.   

    建议不要问这种问题了,方法不下10种,随便拿一种来用就是了。
    手工解析,使用strtok,使用sscanf都可以吗。
    手工解析虽然麻烦点,但最直接,效率也高,即通过循环扫描整个字符串,每次遇到一个空格就停下来,并处理它前面数字。
      

  2.   

    5555555555555555,不好意思,我是新手,麻烦大家了老师说有一个格式化读的命令,不知是什么。MSDN翻了一天也没找到。
      

  3.   

    CString格式化读的命令,我想你说的是Format吧
      

  4.   

    sscanf 或者手工读到空格就暂停,看你想怎么处理了
      

  5.   

    直接操作内存方便点你把数据读到char buf[] 里,自己处理吧,好理解。
      

  6.   

    好了,会弄了,嘻嘻~!
    先读到char buf[],然后用sscanf读出数据,然后用strtok把char型转成int型。就可以对int型数操作了。#include <string.h>
    #include <stdio.h>char string[] = "A string\tof ,,tokens\nand some  more tokens";
    char seps[]   = " ,\t\n";
    char *token;void main( void )
    {
       printf( "%s\n\nTokens:\n", string );
       /* Establish string and get the first token: */
       token = strtok( string, seps );
       while( token != NULL )
       {
          /* While there are tokens in "string" */
          printf( " %s\n", token );
          /* Get next token: */
          token = strtok( NULL, seps );
       }
    }但是,这里面的  token = strtok( NULL, seps );  语句不明白有什么用
    请大虾指点!   
      

  7.   

    读取下一个token。
    strtok当第一个参数不空时,能得到第一个token,否则得到下一个token或者返回null表示结束。
      

  8.   

    哦,每次得到的token后面有个null character,你说的修改是这个意思么?大虾,知道还有什么常用的,读取字符串中不同类型数据的方法么?
      

  9.   

    strtok()函数能完成你的功能,具体用法你查一下MSDN
      

  10.   

    int a;
    ifstream iFile(TEXT("c:/note.txt"));
    while(iFile>>a)
    printf("%d",a);
    iFile.close();
      

  11.   

    Format不是显示,是格式的转换,配合left(),right(),mid()使用也可以很方便的进行格式上的调整和对CString字串的编辑