الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قراءة العدد الاول من ملف

مغلقمُجاب
بدأه milou في 25 مارس 2014 · 12 رد · 974 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

اريد قراءة العدد الاول فقط من كل ملف

 

هل نستطيع ذلك ؟؟

 

 

1 −2
#2

هل تقصد أن الملف مخزن به سلاسل رقمية فقط ؟

f = fopen("yourfile.txt","r");char c[100],get;int i=0;while ((get=getc(f))!=' '){     c=get;     i++;}for(int j=0;j<=i;j++)      printf("%c",c[j]);

تم تعديل هذه المشاركة بواسطة dracola168 في 26 مارس 2014 في 00:52

‎لا تيأسن إذا كبوتم مرة ** إن النجاح حليف كل مثابر‎

 

Import AnyCodeYouLearned Project = findNewProjecthasProject = Truewhile (!dead&&hasProject) { codeingisDone = try_Codeif (isDone)  Project = findNewProjectelse learn_code
#3

لا هكذا تقرأ كل حرف وحده في الاسطر جميعا


 


انا اريد الحرف الاول في السطر الاول ثم الحرف الاول في السطر الثاني و هكذا 


#4

و ايضا الملف فيه اعداد فقط ليست حروف

#5
اقتباس

 

 

انا اريد الحرف الاول في السطر الاول ثم الحرف الاول في السطر الثاني و هكذا 

 

اقتباس

 

 

و ايضا الملف فيه اعداد فقط ليست حروف

 

على كل

قومي بقراءة السطر بالكامل من الملف عن طريق الدالة GetLine 

المتغير النصي الذي يحمل هذا السطر قومي باقتصاصه عن طريق الدالة Substr 

الدالة Substr سوف تأخذ لكي الحرف المحدد من الموقع المحدد لذا ستكون من الشكل 

SubStr(1,1) 

 

بالتوفيق ان شاء الله

{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56

#6

 


:'(


:'(


Doesn't work


#7

مثلا الملف هكذا

 

1 2 3 4 5 

2 3 4 5 6 

2 4 5 8 5 

9 9 7 3 3

 

أريد النتائج هكذا

 a1 = 5;

a2=6;

a3=5;

a4=3;

.....

تم تعديل هذه المشاركة بواسطة milou في 26 مارس 2014 في 17:15

#8

لقد اخطأت آسف ههه

اقتباس

 

 

The first character is denoted by a value of 0 (not 1).

اي يجب عليكي استدعاء الميثود substr  وتمرير البارامترات التالية لها substr(0,1)

 

ولكن هذا هو الكود الكامل 

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
    string fisrtchar = "";
    string line;
    ifstream myfile("file.file");
    if(myfile.is_open())
    {
        while(getline(myfile,line))
        {
            fisrtchar = line.substr(0,1);
            cout << fisrtchar;
        }
        myfile.close();
    }
    else
    {
        cout << "Error While Opening the file";
    }
}

بالتوفيق

1

{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56

#9

قومي بإنشاء ملف بإسم file.file وضعي فيه المحتويات المطلوبة ومن ثم جربي الكود السابق وسيعمل كما طلبتي تماماً 

{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56

#10

getline 

 

لا تعمل ربما لانني اعمل في C ليس C++

 

1 −1
#11

getline 


 


لا تعمل ربما لانني اعمل في C ليس C++


 


:excl:  :excl: 


 


1 −1
#12 أفضل إجابة

بالتأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأأكييييد لن يعمل !ّ!!!!!!!!  :angry:  :angry:  :angry:

 

هذا كود C++ وليس كود C  كان يجب عليكي ان تحددي انك تريدي كود لل c منذ البداية !!!

 

هذا الكود بعد التعديل 

#include <stdio.h>
#include <stdlib.h>
int main()
{
   static const char filename[] = "Write Youre File Path";
   FILE *file = fopen ( filename, "r" );
   if ( file != NULL )
   {
      char line [128]; /* or other suitable maximum line size */
      while ( fgets (line, sizeof line, file ) != NULL ) /* read a line */
      {

         //fputs(line, stdout); /* write the line */
         printf("%c",line[0]);
         //fprintf(line);
      }
      fclose ( file );
   }
   else
   {
      perror ( filename ); /* why didn't the file open? */
   }
   return 0;
}

انتبهي لمصفوفة ال char هنا الرقم الأعظمي 128 لو حدث خطأ قومي بزيادته   <_<

ملاحظة : قومي بكتابة مسار الملف الكامل قبل تنفيذ البرنامج 

لا تستخدمي علامة \ لو كنتي من مستخدمي ويندوز بل استخدمي علامة مضاعفة "\\" لان العلامة \ سوف تحدث لغط بين النص العادي وبين ال Escape Character

اما ان كنتي من مستخدمي Linux فلا بأس لان المسارات يعبر عنها بعلامة / المعاكسة والتي لن تحدث هذه اللخبطة 

 

انتبهي في المرة القادمة وحددي اللغة التي تعملين عليها في اول السؤال وقبل كل شيء 

تم تعديل هذه المشاركة بواسطة Install في 26 مارس 2014 في 21:35

1

{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56

#13

اوكي شكرا بارك الله فيك ربي يحفظك


 


اوكي ان شاء الله


 


نعم الكود يعمل بشكل جيد


هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…