c++中如何实现从文档中读取指定长度的字符串然后存储到变量中,比方说有 user:zzz passw

c++中如何实现从文档中读取指定长度的字符串然后存储到变量中,比方说有
user:zzz
password:zxcvb
怎样才能读取,user和password后面的内容分别存到两个字符数组中?

每次读取一行,就是读取文档内容时候遇到换行符(\r\n)就停止;
把读取的内容进行分析,以冒号 :为界限,冒号之前如果是user,就把冒号后边的字符串存到user中,如果冒号前是password,就把冒号后边内容存到password中。
这是最基础的思想,判定的方法有多种,比如你判定冒号前内容时候,如果冒号前的内容只有user和password这两种,完全可以按长度来判定,这样要比判定这前面是什么字符串简单。
如果你会用CString 那就可以忽略,CString的功能足够强大到你随便对比,拆分一个字符串。追问

能给个代码么?光讲我不会呀

追答char str1[20];
CString string1,string2,string3;
FILE*fp;
fp=fopen("D:\\11.txt","r");
while(!feof(fp)&&!ferror(fp))
{
    fscanf(fp,"%s\n",str1);//每次读一行内容,存在str1中,遇到换行结尾 
    string1 = str1;
    int nFind1 = string1.Find(':');
    string2 = string1.Left(nFind1);

    int length = string1.GetLength(); 

    string3 = string.Right(length-nFind1-1); 
    if(string2 == "user") 
        //string3存在user中
    else if(string2 == "password")
        //string3存在password中      
}

 大致就是这样了,string3就是冒号后边的内容,存储的部分你自己写一下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-27
fseek()函数可以实现定位。
相似回答