2015-06-28 24 views
-4

我想通過讀取文件將包含在字符串中的整數值分配給數組。無法將轉換後的值分配給數組

代碼:

#include<string> 
    using namespace std; 
    int main(){ 
    int s[10][10]; 
    ifstream trainfile; 
    trainfile.open(trainname); 
    if(!trainfile){ 
     cout<<"Cannot open file!"<<'\n'; 
     exit(1); 
    } 

    std::string line;  

    while (std::getline(trainfile, line)) 
    {  
     std::istringstream iss(line);   
     char z=line[0]; 
     s[0][0]=z-'0';    
    } 
} 

錯誤:

`Invalid types 'char[int]' for array subscript` 
+0

使用line.c_str()[0] – Miki

+3

@Miki沒有理由這樣做。 – juanchopanza

+1

編輯的代碼仍然正確,或者這不是你的代碼,或者你有一個非常破碎的編譯器 –

回答

1

編輯的代碼工作正常。我試了一下使用這個在線編譯http://www.tutorialspoint.com/compile_cpp_online.php

我嘗試使用cout打印s[0][0]它給預期

1

這正是我試圖

#include<string> 
#include<iostream> 
using namespace std; 
int main(){ 
    std::string line; 
    int s[10][10]; 
    line="1asd"; 
    char z=line[0]; 
    s[0][0]=z-'0'; 
    cout<<s[0][0]; 
} 

問題可能與輸出的編譯器。

相關問題