2016-02-22 25 views
-2

我想在C++中做一些事情,我有一點點麻煩搞清楚如何做到這一點。閱讀數字然後在C++中的文本文件中的字母

我有一個文本文件,其中包含我需要解析並採取行動的信息。該文件的格式是多行,每個都包含一個數字,後跟一個字母:

1234 A 
5678 B 
9101 C 

我需要做的是,一行行,讀出數字,做此基礎上計算。然後我需要根據該行上該字母的值進行操作。一旦兩個操作完成,我重複下一行,直到文件中的所有行都被解析。

我發現了一些關於如何逐行讀入字符串的文章,但我不能引用如何將行分隔爲數字和字母。

任何援助非常感謝!

回答

0

下面的例子可能會有幫助:

#include <iostream> 
#include <fstream> 
#include <string> 

int main(int argc, char** argv) 
{ 
    std::ifstream fp("input.dat"); 

    char ch; 
    int n; 
    while (fp >> n && fp >> ch) 
    { 
    std::cout << "Here is your number: " << n << std::endl; 
    std::cout << "Here is your char: " << ch << std::endl; 
    } 

    return 0; 
} 

在上面,文件input.dat包含您的輸入。這個例子並不在乎數字和字母是否被換行符,製表符,空格或任何其他空格分開。如果您確實需要準備特定的格式,您可以查看fscanfstd::getlinehttp://www.cplusplus.com/reference/string/string/getline/)。

0
using namespace std; 

ifstream file("file.txt"); 
int number; 
char character; 

while(file >> number >> character) { 
    // read each line as a number followed by a character 
    cout << number << " " << character << endl; 
    switch(character) { 
     case 'A': 

      break; 
     case 'B': 

      break; 
     case 'C': 

      break; 
    } 
} 
+0

我想有些人可能會發現引誘一個初學者消滅文件系統hillarious。戴先生,你當時太聰明瞭,以至於你不能這樣做。 –